[project @ 1998-05-26 15:57:04 by simonm]
[ghc-hetmet.git] / ghc / docs / users_guide / 3-02-notes.vsgml
1 <sect1>Release notes for version~3-02---4/97
2 <label id="release-3-02">
3 <p>
4
5 Changes made since 3.01:
6
7 <itemize>
8
9 <item> CharLike and IntLike closures fixed (should reduce allocation
10 slightly).
11
12 <item> Pattern binding desugaring improved to eliminate intermediate
13 tuples in some cases.
14
15 <item> Fixed parsing problem: declaring a record with an infix constructor.
16
17 <item> When computing the Makefile dependencies, using either
18 <tt/ghc -M/ (preferred) or by invoking the <tt/mkdependHS/ script
19 directly, <tt/CPP/ will now by default not be run over the input
20 files. To have CPP wash your input files, use the command-line option
21 <tt/-cpp/.
22
23 <item> Added a working specialiser.
24
25 <item> Added <tt/unsafeCoerce#/.
26
27 <item> Fixed compilation of real floating-point literals: they were
28 previously generated as applications of <tt/fromRational/, even when
29 not overloaded.
30
31 <item> The object splitter had a bug in it that increased binary sizes
32 significantly on i386-unknown-linux and sparc-sun-solaris2.  Now
33 fixed.
34
35 <item> Bump some of the constants that affect unfolding agression:
36 performance is now better than 2.10, and binary sizes are smaller.
37
38 <item> Add NOINLINE pragma, and use it for unsafePerformIO and
39 friends.  Remove PrelUnsafe and PrelUnsafeST, move the contents into
40 PrelIOBase and PrelST respectively.  Add NOINLINE pragma to
41 LazyST.runST.
42
43 </itemize>