-{-# OPTIONS -fno-implicit-prelude #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+
-----------------------------------------------------------------------------
-- |
-- Module : Foreign
-----------------------------------------------------------------------------
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)