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