[project @ 1996-01-08 20:28:12 by partain]
[ghc-hetmet.git] / ghc / docs / release_notes / 0-10-notes.lit
1 Release~0.10 was the first major, public release of this compilation
2 system.
3
4 The announcement (now distributed in \tr{ghc/docs/ANNOUNCE-0.10})
5 describes the most notable features of this release.  These notes,
6 therefore, just cover some of the fine points...
7
8 %************************************************************************
9 %*                                                                      *
10 \subsection[0-10-new-docs]{New documentation}
11 %*                                                                      *
12 %************************************************************************
13
14 We're providing a few more papers, in \tr{ghc/docs/papers}.  See
15 \tr{ghc/docs/README} for a full list of documentation.
16
17 %************************************************************************
18 %*                                                                      *
19 \subsection[0-10-new-in-usage]{User-visible changes}
20 %*                                                                      *
21 %************************************************************************
22
23 An ``Appel-style'' generational garbage collector is now the default.
24 (It used to be a two-space copying collector.)
25
26 The flag to use the unboxery and other Glasgow extensions was
27 \tr{-funboxed}.  We've changed it to \tr{-fglasgow-exts}.  We may
28 elaborate this further, eventually...
29
30 (If 0.06 is the last version you looked at, flags/options have changed
31 a fair bit since then.)
32
33 %************************************************************************
34 %*                                                                      *
35 \subsection[0-10-new-in-compiler]{New in the compiler proper}
36 %*                                                                      *
37 %************************************************************************
38
39 Derived instances are in, well partly.  We'll put in the rest when
40 there's a demand (or we have nothing better to do).
41
42 @Integers@ (arbitrary-precision integers) are now in properly.
43 Just as HBC does, we use the GNU multi-precision arithmetic package.
44 Source is in \tr{ghc/runtime/gmp}.
45
46 We did a bunch of stuff in the typechecker region to support
47 overloading better; we called it ``dictionary stomping.''  One
48 side-effect of this work is that error messages related to overloading
49 have a slight chance of being sensible (which they weren't before).
50
51 ``Primitive arrays,'' on top of which efficient, regular Haskell
52 arrays can be (are) built, went in.  There's a {\em little} about
53 using them, in the ``Glasgow extensions'' section of the User's Guide.
54
55 Similarly, the mechanisms for calling C directly (@ccall@ and @casm@)
56 are more likely to be useful.  Again, a little documentation in the
57 same place...
58
59 %************************************************************************
60 %*                                                                      *
61 \subsection[0-10-new-in-libraries]{In the prelude and runtime support}
62 %*                                                                      *
63 %************************************************************************
64
65 Our standard prelude conforms to the Haskell~1.2 report.
66
67 We support a non-standard @fromInt@ method for the @Num@ class, just as
68 HBC does.
69
70 We support a non-standard @cmp3@ method for the @Ord@ class.  Snoop
71 around in the \tr{ghc/lib/prelude/*.hs} code, if you care.  (We use it
72 in code generated for derived instances.)