Adjust behaviour of gcd
[ghc-base.git] / Foreign.hs
index 41c56a6..a26ffaf 100644 (file)
@@ -1,44 +1,44 @@
-{-# OPTIONS -fno-implicit-prelude #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+
 -----------------------------------------------------------------------------
 -- |
 -- 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
 -- Portability :  portable
 --
--- $Id: Foreign.hs,v 1.3 2002/04/24 16:31:37 simonmar Exp $
---
 -- A collection of data types, classes, and functions for interfacing
--- with another programming language. This is only a convenience module
--- in the future, but currently it has the additional task of hiding
--- those entities exported from other modules, which are not part of the
--- FFI proposal.
+-- with another programming language.
 --
 -----------------------------------------------------------------------------
 
 module Foreign
-        ( module Data.Int
-       , module Data.Word
-       , module Foreign.Ptr
-       , module Foreign.ForeignPtr
-       , module Foreign.StablePtr
+        ( module Data.Bits
+        , module Data.Int
+        , module Data.Word
+        , module Foreign.Ptr
+        , 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
+
+        -- | 'unsafePerformIO' is exported here for backwards
+        -- compatibility reasons only.  For doing local marshalling in
+        -- the FFI, use 'unsafeLocalState'.  For other uses, see
+        -- 'System.IO.Unsafe.unsafePerformIO'.
+        , 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)