[project @ 1997-11-11 14:32:34 by simonm]
[ghc-hetmet.git] / ghc / lib / glaExts / GlaExts.lhs
1 %
2 % (c) The AQUA Project, Glasgow University, 1994-1996
3 %
4 \section[GlaExts]{The @GlaExts@ interface}
5
6 The @GlaExts@ packages up various Glasgow extensions and
7 exports them all through one interface. The Idea being that
8 a Haskell program using a Glasgow extension doesn't have to
9 selective import of obscure/likely-to-move (believe me, we
10 really like to move functions around for the prelude bits!)
11 GHC interfaces - instead import the GlaExts rag bag and you should be away!
12
13 \begin{code}
14 module GlaExts
15
16        (
17         ST, RealWorld,
18
19         unsafePerformIO, 
20         unsafeInterleaveIO,
21         
22         -- operations for interfacing IO and ST
23         --
24         stToIO,       -- :: ST RealWorld a -> IO a
25         ioToST,       -- :: IO a -> ST RealWorld a
26
27         -- Everything from module ByteArray:
28         module ByteArray,
29
30         -- Same for Mutable(Byte)Array interface:
31         module MutableArray,
32         
33         -- the representation of some basic types:
34         Int(..),Addr(..),Word(..),Float(..),Double(..),Integer(..),Char(..),
35
36         -- misc bits
37         trace,
38         Lift(..),
39
40         -- and finally, all the unboxed primops of GHC!
41         module GHC
42
43        ) where
44
45 import GHC
46 import STBase
47 import IOExts
48 import PrelBase
49 import ByteArray
50 import MutableArray
51 import Monad
52 import IOBase
53 import Foreign
54
55 \end{code}