[project @ 1998-11-26 09:17:22 by sof]
[ghc-hetmet.git] / ghc / docs / users_guide / 3-02-notes.vsgml
index aa56678..927bfb4 100644 (file)
@@ -1,17 +1,53 @@
-<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>