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 (see Section <ref
10 name="Scoped Type Variables" id="scoped-type-variables">).
12 <item> Several bugs in _ccall_GC and foreign export fixed.
14 <item> Warnings for unused variables should work now (they didn't before).
16 <item> Simplifier improvements:
18 <item> Much better treatment of strict arguments.
19 <item> Function arguments of unlifted type are treated as strict.
20 <item> Better treatment of bottoming Ids.
21 <item> No need for worker/wrapper split for fns that are merely strict.
22 <item> Fewer iterations needed, I hope.
25 <item> Strictness of primitive operations is now explicit and used by
28 <item> Less gratuitous renaming in interface files and abs C.
30 <item> <tt/OccName/ is a separate module, and is an abstract data type.
32 <item> A new generational garbage collector: the number of generations
33 is variable, using the -G RTS option (see <ref id="rts-options-gc"
34 name="RTS options to control the garbage-collector">). This collector
35 is faster and more space-efficient than the two-space collector in 4.01.
37 <item> Error messages and warnings are now printed out in the order they
38 occur in the source code.
40 <item> <tt/isEmptyMVar/ operation added to the <tt/Concurrent/ library.
42 <item> Two new functions exported from <tt/ST/ (and <tt/LazyST/):
43 <tt/unsafeIOToST/ and <tt/stToIO/.
45 <item> The <tt/+RTS -H<size>/ option is reinstated. Now it
46 means "use about this much memory" (see Section <ref
47 id="rts-options-gc" name="RTS options to control the garbage
48 collector">). This option was added mainly so that 4.02 GC times look
49 good compared to 3.02 :-).
51 <item> <tt/finalise/ and <tt/mkWeakNoFinaliser/ operations added to
54 <item> Ticky-ticky profiling works again (cost-centre profiling is
57 <item> Better <tt/egcs-1.1.1/ support.