1 <sect1>Release notes for version~3-01---2/98
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
50 Split @-fwarn-unused-names@ into
53 <tag>@-fwarn-unused-imports@</tag>
54 Warn about unused explicit imports. (in -W)
55 <tag>@-fwarn-unused-binds@</tag>
56 Warn about unused bindings (in -W)
57 <tag>@-fwarn-unused-matches@</tag>
58 Warn about unused names in pattern matches
59 (not as useful, relegated to -Wall)
62 <item> The driver is now always installed as @ghc-<version>@ with a
63 link to it from @ghc@.
65 <item> Library re-organisation: all libraries now live under ghc/lib,
66 which has the following structure:
69 ghc/lib/std -- all prelude files (libHS.a)
72 ghc/lib/exts -- standard Hugs/GHC extensions (libHSexts.a)
73 -- available with '-fglasgow-exts'
75 ghc/lib/posix -- POSIX library (libHSposix.a)
76 ghc/lib/posix/cbits -- available with '-syslib posix'
78 ghc/lib/misc -- used to be hslibs/ghc (libHSmisc.a)
79 ghc/lib/misc/cbits -- available with '-syslib misc'
81 ghc/lib/concurrent -- Concurrent libraries (libHSconc.a)
82 -- available with '-concurrent'
85 Also, several non-standard prelude modules had their names changed to begin
86 with 'Prel' to reduce namespace pollution.
89 Addr ==> PrelAddr (Addr interface available in 'exts')
91 CCall ==> PrelCCall (CCall interface available in 'exts')
94 Foreign ==> PrelForeign (Foreign interface available in 'exts')
96 IOHandle ==> PrelHandle
100 Unsafe ==> PrelUnsafe
101 UnsafeST ==> PrelUnsafeST
104 <item> Unboxed types are now not allowed in the field of a newtype
107 <item> Report the context properly for type errors in newtype
110 <item> User's Guide replaced with SGML version.
112 <item> The literate tools have been removed from the standard
113 distributions, since they're not needed to format the documentation
116 <item> Lots of bug-fixes to the multi-parameter type classes support.
118 <item> @alpha-dec-osf1@ and @alpha-dec-osf3@ are now separate
119 configurations. It turns out that an @alpha-dec-osf3@ build doesn't
120 work on older versions of the OS.