1 Release~0.10 was the first major, public release of this compilation
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...
8 %************************************************************************
10 \subsection[0-10-new-docs]{New documentation}
12 %************************************************************************
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.
17 %************************************************************************
19 \subsection[0-10-new-in-usage]{User-visible changes}
21 %************************************************************************
23 An ``Appel-style'' generational garbage collector is now the default.
24 (It used to be a two-space copying collector.)
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...
30 (If 0.06 is the last version you looked at, flags/options have changed
31 a fair bit since then.)
33 %************************************************************************
35 \subsection[0-10-new-in-compiler]{New in the compiler proper}
37 %************************************************************************
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).
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}.
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).
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.
55 Similarly, the mechanisms for calling C directly (@ccall@ and @casm@)
56 are more likely to be useful. Again, a little documentation in the
59 %************************************************************************
61 \subsection[0-10-new-in-libraries]{In the prelude and runtime support}
63 %************************************************************************
65 Our standard prelude conforms to the Haskell~1.2 report.
67 We support a non-standard @fromInt@ method for the @Num@ class, just as
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.)