a26ffaf2bd401a5709622826252ee49a1d35c87a
[packages/base.git] / Foreign.hs
1 {-# LANGUAGE NoImplicitPrelude #-}
2
3 -----------------------------------------------------------------------------
4 -- |
5 -- Module : Foreign
6 -- Copyright : (c) The FFI task force 2001
7 -- License : BSD-style (see the file libraries/base/LICENSE)
8 --
9 -- Maintainer : ffi@haskell.org
10 -- Stability : provisional
11 -- Portability : portable
12 --
13 -- A collection of data types, classes, and functions for interfacing
14 -- with another programming language.
15 --
16 -----------------------------------------------------------------------------
17
18 module Foreign
19 ( module Data.Bits
20 , module Data.Int
21 , module Data.Word
22 , module Foreign.Ptr
23 , module Foreign.ForeignPtr
24 , module Foreign.StablePtr
25 , module Foreign.Storable
26 , module Foreign.Marshal
27
28 -- | 'unsafePerformIO' is exported here for backwards
29 -- compatibility reasons only. For doing local marshalling in
30 -- the FFI, use 'unsafeLocalState'. For other uses, see
31 -- 'System.IO.Unsafe.unsafePerformIO'.
32 , unsafePerformIO
33 ) where
34
35 import Data.Bits
36 import Data.Int
37 import Data.Word
38 import Foreign.Ptr
39 import Foreign.ForeignPtr
40 import Foreign.StablePtr
41 import Foreign.Storable
42 import Foreign.Marshal
43
44 import System.IO.Unsafe (unsafePerformIO)