[project @ 1998-11-26 09:17:22 by sof]
[ghc-hetmet.git] / ghc / docs / users_guide / 3-02-notes.vsgml
1 <sect1>Release notes for version~3-02---5/97
2 <label id="release-3-02">
3 <p>
4
5 Changes made since 3.01:
6
7 <itemize>
8
9 <item> After a prolonged rest in the bit bucket, the Specialiser is
10 now back on-line again! It has been completely rewritten and the
11 implementation is a great deal simpler than the version that came with
12 @ghc-0.29@.
13 (ToDo: insert summary of capabilities.)
14
15 <item> The addition of a data type or an instance to a module A should
16 now mostly avoid the recompilation of modules that import A.
17
18 <item> More internal code cleanup and simplifications
19
20 <item> @showList@ and @Show@ instances for tuples now uses @","@ as
21 element separators rather than @", "@. Changed to make the strings
22 generated by 
23
24 <item> Misc. bugfixes to 
25
26
27 <item> When computing the Makefile dependencies, using either
28 <tt/ghc -M/ (preferred) or by invoking the <tt/mkdependHS/ script
29 directly, <tt/CPP/ will now by default not be run over the input
30 files. To have CPP wash your input files, use the command-line option
31 <tt/-cpp/.
32
33 <item> Added a working specialiser.
34
35 <item> Added <tt/unsafeCoerce#/.
36
37 <item> Fixed compilation of real floating-point literals: they were
38 previously generated as applications of <tt/fromRational/, even when
39 not overloaded.
40
41 <item> The object splitter had a bug in it that increased binary sizes
42 significantly on i386-unknown-linux and sparc-sun-solaris2.  Now
43 fixed.
44
45 <item> Bump some of the constants that affect unfolding agression:
46 performance is now better than 2.10, and binary sizes are smaller.
47
48 <item> Add NOINLINE pragma, and use it for unsafePerformIO and
49 friends.  Remove PrelUnsafe and PrelUnsafeST, move the contents into
50 PrelIOBase and PrelST respectively.  Add NOINLINE pragma to
51 LazyST.runST.
52
53 </itemize>