[project @ 1997-05-18 04:33:03 by sof]
[ghc-hetmet.git] / ghc / docs / users_guide / 2-03-notes.lit
1 GHC 2.03 is a minor upgrade of GHC 2.02.  It differs in the following
2 ways:
3
4 \begin{itemize}
5 \item
6     A slew of small bugs are fixed.  You can find the complete list
7     at @http://www.cse.ogi.edu/~simonpj/ghc-bugs.html@.  One
8     bug remains un-fixes, namely the crash when there's an empty
9     comment at the end of file.  It's wierd!
10
11 \item
12     Last-minute language changes have been implemented (minor changes
13     to the libraries, and to module export/hiding scope rules)
14
15 \item
16     It is only available as a source distribution.  If you want to
17     use it you'll have to build it from source.  Nowadays this is
18     a well-documented process (see the build and installation guide, but
19     note that this release is still not self-booting, you still need
20     to have The Good Old Compiler (0.29) at your disposal).
21 \end{itemize}
22
23 None of the bugs in GHC 2.02 are show-stoppers, so you'll only want
24 to upgrade if you are a build-from-source junkie and the bugs are 
25 irritating you.
26
27 Apart from bug-fixes, which are itemized elsewhere, 
28 the exact language and standard-library changes are as follows:
29 \begin{itemize}
30 \item
31 A hiding clause hides the unqualified name, but not the qualified name.
32 \item 
33 There's a new @Numeric@ library, containing mostly mildly marginal
34 code for showing and reading numbers.  Parts of its exports used to be
35 exported by @Prelude@, but now you'll have to import them explicitly.
36 It also defines some functions that weren't provided before; have a
37 look in the Haskell library report for details of complete interface.
38 \item
39 The following extra functions are exported from @IO@: 
40 @try@, @bracket@, @bracket_@, @hGetLine@, @hWaitForInput@.
41 \end{itemize}
42
43 In addition, we've made following changes to GHC libraries/GHC's
44 implementation of the Haskell standard prelude:
45
46 \begin{itemize}
47 \item The function @fromRational__@, exported from @PrelNum@, is now called @fromRat@.
48 (And it's exported by @Numeric@.)
49 \item
50 Documentation for the Glasgow specific interfaces plus the system
51 libraries have been re-instated. Posix library documentation included also.
52 \item
53 @maybe@ is now exported from Prelude, as it should have been in 2.02.
54 \item
55 Equality on @IO.Handle@ is now defined as specified by the library
56 report.
57 \item
58 @Ix.rangeSize@ returns \tr{0} on an empty range;previously it failed.
59 \item
60 The new interface @GlaExts@ which is meant to be the gateway to the
61 various Glasgow extensions has now been documented.
62 \item
63 @GlaExts@ now exports the representation of @Char@.
64 \item
65 The mutable variable interface, @MutVar@, has also been documented,
66 together with @ByteArray@, @MutableArray@ and @Foreign@.
67 \item
68 Added documentation on how to compile mutually recursive modules with
69 2.03.
70 \end{itemize}