1 <sect1>Release notes for version~3-01---2/97
2 <label id="release-3-01">
5 Changes made since 3.00:
9 <item> Fix interaction of "hiding" on import with "module M" on export.
11 <item> Fix some floating point conversion problems in @floatExtreme.lc@.
13 <item> New Hugs/GHC interface <tt/NumExts/ added and documented.
15 <item> moved @showOct@ and @showHex@ from @Numeric@ to @NumExts@.
17 <item> imported HBC's quick-sort algorithm from @QSort@ into @List@.
19 <item> added support for assertions. Conceptually, a new function has
20 been added to the Prelude with the following type:
23 assert :: Bool -> a -> a
26 which has the following behaviour:
31 | otherwise = error "assertion failed"
34 However in this form, the practical use of assertions is
35 limited as no indication is given as to what assertion failed.
36 So to help out here, ghc will rewrite any uses of <tt/assert/
37 to instead invoke the function <tt/assert__/ :
40 assert__ :: String -> Bool -> a -> a
43 where the first argument to <tt/assert__/ is a compiler generated string
44 which encodes the source location of the original <tt/assert/.
46 Assertions are a Glasgow extension, so -fglasgow-exts is
49 <item> Library re-organisation: all libraries now live under ghc/lib,
50 which has the following structure:
53 ghc/lib/std -- all prelude files (libHS.a)
56 ghc/lib/exts -- standard Hugs/GHC extensions (libHSexts.a)
57 -- available with '-fglasgow-exts'
59 ghc/lib/posix -- POSIX library (libHSposix.a)
60 ghc/lib/posix/cbits -- available with '-syslib posix'
62 ghc/lib/misc -- used to be hslibs/ghc (libHSmisc.a)
63 ghc/lib/misc/cbits -- available with '-syslib misc'
65 ghc/lib/concurrent -- Concurrent libraries (libHSconc.a)
66 -- available with '-concurrent'
69 Also, several non-standard prelude modules had their names changed to begin
70 with 'Prel' to reduce namespace pollution.
73 Addr ==> PrelAddr (Addr interface available in 'exts')
75 CCall ==> PrelCCall (CCall interface available in 'exts')
78 Foreign ==> PrelForeign (Foreign interface available in 'exts')
80 IOHandle ==> PrelHandle
85 UnsafeST ==> PrelUnsafeST