1 <sect1>Release notes for version~4.02---12/98
2 <label id="release-4-02">
7 <item> Full Haskell 98 language support.
9 <item> Scoped type variables implemented.
11 <item> Several bugs in _ccall_GC and foreign export fixed.
13 <item> Warnings for unused variables should work now (they didn't before).
15 <item> Simplifier improvements:
17 <item> Much better treatment of strict arguments.
18 <item> Function arguments of unlifted type are treated as strict.
19 <item> Better treatment of bottoming Ids.
20 <item> No need for worker/wrapper split for fns that are merely strict.
21 <item> Fewer iterations needed, I hope.
24 <item> Strictness of primitive operations is now explicit and used by
27 <item> Less gratuitous renaming in interface files and abs C.
29 <item> <tt/OccName/ is a separate module, and is an abstract data type.
31 <item> A new generational garbage collector: the number of generations
32 is variable, using the -G RTS option (see <ref id="rts-options-gc"
33 name="RTS options to control the garbage-collector">). This collector
34 is faster and more space-efficient than the two-space collector in 4.01.
36 <item> Error messages and warnings are now printed out in the order they
37 occur in the source code.
39 <item> <tt/isEmptyMVar/ operation added to the <tt/Concurrent/ library.
41 <item> Two new functions exported from <tt/ST/ (and <tt/LazyST/):
42 <tt/unsafeIOToST/ and <tt/stToIO/.