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(..),
57 -- and finally, all the unboxed primops of GHC!
75 unsafePerformPrimIO = unsafePerformIO
76 thenPrimIO :: PrimIO a -> (a -> PrimIO b) -> PrimIO b
79 seqPrimIO :: PrimIO a -> PrimIO b -> PrimIO b
82 returnPrimIO :: a -> PrimIO a
85 thenIO_Prim :: PrimIO a -> (a -> IO b) -> IO b
88 -- ST compatibility stubs.
89 thenST :: ST s a -> ( a -> ST s b) -> ST s b
92 seqST :: ST s a -> ST s b -> ST s b
95 returnST :: a -> ST s a