put 'unsafeCoerce' in a standard location
[haskell-directory.git] / Foreign.hs
index 0b22468..9fef16f 100644 (file)
@@ -1,9 +1,9 @@
-{-# OPTIONS -fno-implicit-prelude #-}
+{-# OPTIONS_GHC -fno-implicit-prelude #-}
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Foreign
 -- Copyright   :  (c) The FFI task force 2001
--- License     :  BSD-style (see the file libraries/core/LICENSE)
+-- License     :  BSD-style (see the file libraries/base/LICENSE)
 -- 
 -- Maintainer  :  ffi@haskell.org
 -- Stability   :  provisional
 -----------------------------------------------------------------------------
 
 module Foreign
-        ( module Data.Int
-       , module Data.Word
+        ( module Data.Bits
+        , module Data.Int
+        , module Data.Word
        , module Foreign.Ptr
-       , module Foreign.ForeignPtr
-       , module Foreign.StablePtr
+        , module Foreign.ForeignPtr
+        , module Foreign.StablePtr
         , module Foreign.Storable
-       , module Foreign.Marshal.Alloc
-       , module Foreign.Marshal.Array
-       , module Foreign.Marshal.Error
-       , module Foreign.Marshal.Utils
+        , module Foreign.Marshal
+
+        -- | For compatibility with the FFI addendum only.  The recommended
+        -- place to get this from is "System.IO.Unsafe".
+        , unsafePerformIO
         ) where
 
+import Data.Bits
 import Data.Int
 import Data.Word
 import Foreign.Ptr
 import Foreign.ForeignPtr
 import Foreign.StablePtr
 import Foreign.Storable
-import Foreign.Marshal.Alloc
-import Foreign.Marshal.Array
-import Foreign.Marshal.Error
-import Foreign.Marshal.Utils
+import Foreign.Marshal
+
+import System.IO.Unsafe (unsafePerformIO)