1 * Multi-parameter type classes are fully implemented. There is more
2 sharing of dictionaries than in 2.10, so there's a chance that
3 efficiency will increase a little too.
5 * Error messages from the type checker should be noticeably improved
7 * Warnings for unused bindings (-fwarn-unused-names)
8 [I havn't updated the driver to deal with this; can you pls?]
9 In general, are warnings properly documented, since that's
10 something GHC does much better now?
12 * The "boing" example works, and many other minor bug fixes.
14 Internally there are the following changes
16 * Can only be built with 2.10 or later; committed to Haskell 1.4
17 module system and libraries. Much cruft removed as a result.
19 * Dramatic clean-up of the PprStyle stuff. No explicit "sty" parameters
20 now; it's all handled under the hood in Outputable.lhs
22 * The type Type has been substantially changed. Usage types have
23 gone away entirely. Type is parameterised wrt the "flexi" slot
24 in type variables, rather than wrt the type variable itself.
25 That means that many instance decls become much simpler, because
26 they are polymorphic in the "flexi" slot rather than needing
27 (say) Outputable on the type variable.
29 * The dictionary for each class is represented by a new
30 data type for that purpose, rather than by a tuple. That in
31 turn means that Type can be a straightforward instance of Eq and Ord.
32 No need for eqSimpleTy, eqTy.
34 * The resulting compiler is just slightly (2%) shorter than the
35 old one in terms of source code size.