[project @ 1998-11-26 09:17:22 by sof]
[ghc-hetmet.git] / ghc / docs / users_guide / 3-00-notes.vsgml
1 <sect1>Release notes for version~3-00---1/97
2 <label id="release-3-00">
3 <p>
4
5 Changes made since 2.10:
6
7 <itemize>
8
9 <item> Multi-parameter type classes are fully implemented.  There is more
10   sharing of dictionaries than in 2.10, so there's a chance that
11   efficiency will increase a little too.
12
13 <item> Error messages from the type checker should be noticeably improved
14
15 <item> Warnings for unused bindings @-fwarn-unused-names@.
16
17 <item> The "boing" example works, and many other minor bug fixes.
18
19 <item> Can only be built with 2.10 or later; committed to Haskell 1.4
20   module system and libraries.  Much cruft removed as a result.
21
22 <item> Dramatic clean-up of the @PprStyle@ stuff.  No explicit "sty"
23 parameters now; it's all handled under the hood in @Outputable.lhs@.
24
25 <item> The type @Type@ has been substantially changed.  Usage types have
26   gone away entirely.  Type is parameterised wrt the "flexi" slot
27   in type variables, rather than wrt the type variable itself.
28   That means that many instance decls become much simpler, because
29   they are polymorphic in the "flexi" slot rather than needing
30   (say) @Outputable@ on the type variable.
31
32 <item> The dictionary for each class is represented by a new
33   data type for that purpose, rather than by a tuple.  That in
34   turn means that @Type@ can be a straightforward instance of @Eq@ and
35   @Ord@ No need for @eqSimpleTy@, @eqTy@.
36
37 <item> The resulting compiler is just slightly (2%) shorter than the
38   old one in terms of source code size.
39
40 <item> Fix bug in posix signal handling.
41
42 <item> @Int@ and @Word@ rewritten to use unboxed types and operations.
43
44 <item> Removed @ghc/Error.{lhs,hi-boot}@
45
46 <item> Moved contents of @Error@ to @GHCerr@ + adjusted
47   import lists of files that use old Error functionality.
48
49 <item> Moved @seqError@ from @Prelude@ to @GHCerr@.
50
51 <item> Fix a misleading type checker error msg.
52
53 <item> Fix a bug in @floatBind@ in @Simplify.lhs@
54
55 <item> Better failure message when entering an unimplemented instance method
56
57 </itemize>