2 % (c) The AQUA Project, Glasgow University, 1994-1996
4 \section[GlaExts]{The @GlaExts@ interface}
6 Compatibility cruft: Deprecated! Don't use! This rug will
7 dissappear from underneath your feet very soon.
9 This module will eventually be the interface to GHC-ONLY extensions:
10 i.e. unboxery and primitive operations over unboxed values.
13 The @GlaExts@ packages up various Glasgow extensions and
14 exports them all through one interface. The Idea being that
15 a Haskell program using a Glasgow extension doesn't have to
16 selective import of obscure/likely-to-move (believe me, we
17 really like to move functions around for the prelude bits!)
18 GHC interfaces - instead import the GlaExts rag bag and you should be away!
29 -- operations for interfacing IO and ST
31 stToIO, -- :: ST RealWorld a -> IO a
32 ioToST, -- :: IO a -> ST RealWorld a
34 -- compatibility cruft
39 thenPrimIO, thenIO_Prim,
40 seqPrimIO, returnPrimIO,
42 seqST, thenST, returnST,
44 -- Everything from module ByteArray:
47 -- Same for Mutable(Byte)Array interface:
50 -- the representation of some basic types:
51 Int(..),Addr(..),Word(..),Float(..),Double(..),Integer(..),Char(..),
56 -- and finally, all the unboxed primops of PrelGHC!
63 import PrelAddr ( Addr(..), Word(..) )
73 primIOToIO :: PrimIO a -> IO a
76 ioToPrimIO :: IO a -> PrimIO a
79 unsafePerformPrimIO :: PrimIO a -> a
80 unsafePerformPrimIO = unsafePerformIO
82 thenPrimIO :: PrimIO a -> (a -> PrimIO b) -> PrimIO b
85 seqPrimIO :: PrimIO a -> PrimIO b -> PrimIO b
88 returnPrimIO :: a -> PrimIO a
91 thenIO_Prim :: PrimIO a -> (a -> IO b) -> IO b
94 -- ST compatibility stubs.
95 thenST :: ST s a -> ( a -> ST s b) -> ST s b
98 seqST :: ST s a -> ST s b -> ST s b
101 returnST :: a -> ST s a