-<sect1>Release notes for version~3-01---2/97
-<label id="release-3-01">
+<sect1>Release notes for version~3-02---5/97
+<label id="release-3-02">
<p>
-Changes made since 3.00:
+Changes made since 3.01:
<itemize>
-<item> CharLike and IntLike closures fixed (should reduce allocation
-slightly).
+<item> After a prolonged rest in the bit bucket, the Specialiser is
+now back on-line again! It has been completely rewritten and the
+implementation is a great deal simpler than the version that came with
+@ghc-0.29@.
+(ToDo: insert summary of capabilities.)
-<item> Pattern binding desugaring improved to eliminate intermediate
-tuples in some cases.
+<item> The addition of a data type or an instance to a module A should
+now mostly avoid the recompilation of modules that import A.
-<item> Fixed parsing problem: declaring a record with an infix constructor.
+<item> More internal code cleanup and simplifications
+
+<item> @showList@ and @Show@ instances for tuples now uses @","@ as
+element separators rather than @", "@. Changed to make the strings
+generated by
+
+<item> Misc. bugfixes to
+
+
+<item> When computing the Makefile dependencies, using either
+<tt/ghc -M/ (preferred) or by invoking the <tt/mkdependHS/ script
+directly, <tt/CPP/ will now by default not be run over the input
+files. To have CPP wash your input files, use the command-line option
+<tt/-cpp/.
+
+<item> Added a working specialiser.
+
+<item> Added <tt/unsafeCoerce#/.
+
+<item> Fixed compilation of real floating-point literals: they were
+previously generated as applications of <tt/fromRational/, even when
+not overloaded.
+
+<item> The object splitter had a bug in it that increased binary sizes
+significantly on i386-unknown-linux and sparc-sun-solaris2. Now
+fixed.
+
+<item> Bump some of the constants that affect unfolding agression:
+performance is now better than 2.10, and binary sizes are smaller.
+
+<item> Add NOINLINE pragma, and use it for unsafePerformIO and
+friends. Remove PrelUnsafe and PrelUnsafeST, move the contents into
+PrelIOBase and PrelST respectively. Add NOINLINE pragma to
+LazyST.runST.
</itemize>