Reorganisation of the source tree
[ghc-hetmet.git] / docs / users_guide / 5-00-notes.xml
diff --git a/docs/users_guide/5-00-notes.xml b/docs/users_guide/5-00-notes.xml
new file mode 100644 (file)
index 0000000..2871247
--- /dev/null
@@ -0,0 +1,207 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<sect1 id="release-5-00">
+  <title>Release notes for version 5.00 (April 2001)</title>
+
+  <sect2>
+    <title>User-visible compiler changes</title>
+    <itemizedlist>
+      <listitem>
+       <para>GHCi, the new interactive environment on top of GHC, has
+       been added (<xref linkend="ghci">).</para>
+      </listitem>
+      <listitem>
+       <para>New <option>&ndash;&ndash;make</option> flag added (<xref
+       linkend="make-mode">).</para>
+      </listitem>
+      <listitem>
+       <para>The native code generator now supports Sparc in addition
+       to x86.</para>
+      </listitem>
+      <listitem>
+       <para>We now make it clear which options can be placed in an
+       OPTIONS pragma.  See <xref
+       linkend="static-dynamic-flags">.</para>
+      </listitem>
+      <listitem>
+       <para><option>-fglasgow-exts</option> no longer implies
+       <option>-package lang</option>.</para>
+      </listitem>
+      <listitem>
+       <para><option>-noC</option> is no more.</para>
+      </listitem>
+      <listitem>
+       <para><option>-hi</option> and <option>-nohi</option> are no more.</para>
+      </listitem>
+      <listitem>
+       <para>The concept of &ldquo;packages&rdquo; has been
+       generalised and extended.  Packages may be installed or
+       removed from an existing GHC installation using the new
+       <command>ghc-pkg</command> tool.  See <xref
+       linkend="packages">.</para>
+      </listitem>
+      <listitem>
+       <para>Initial unicode support: the <literal>Char</literal>
+       type is now 31 bits.  We don't yet have support for unicode
+       I/O.</para>
+      </listitem>
+      <listitem>
+       <para><option>-v</option> now takes an optional numeric
+        argument indicating the level of verbosity (<xref
+        linkend="options-help">).  <option>-dshow-passes</option> has
+        been removed.</para>
+      </listitem>
+      <listitem>
+       <para>Parallel list comprehensions added.  See <xref
+       linkend="parallel-list-comprehensions">.</para>
+      </listitem>
+      <listitem>
+       <para>Functional dependencies are now fully implemented.
+       </para>
+      </listitem>
+      <listitem>
+       <para>Profiling: please use 
+              <literal>{-# SCC ".." #-}</literal> 
+              rather than <literal>_scc_ "..."</literal>.  The latter
+              will be phased out in due course.</para>
+      </listitem>
+      <listitem>
+       <para>A new experimental optimisation, SpecConstr, is turned
+       on with <literal>-O2</literal>.</para>
+      </listitem>
+      <listitem>
+       <para>Please report bugs using the <ulink
+       url="http://sourceforge.net/projects/ghc/">SourceForge bug
+       tracker</ulink> instead of
+       <email>glasgow-haskell-bugs@haskell.org</email> if
+       possible.</para>
+      </listitem>
+      <listitem>
+       <para>Documentation changes: there's now a useful Flag
+       Reference section, see <xref linkend="flag-reference">.</para>
+      </listitem>
+      <listitem>
+       <para>Many, many, bugfixes.</para>
+      </listitem>
+    </itemizedlist>
+  </sect2>
+
+  <sect2>
+    <title>New experimental features</title>
+
+    <itemizedlist>
+      <listitem>
+       <para>A &ldquo;front panel&rdquo; for GHC-compiled programs
+       displays real-time graphs of memory behaviour in a GTK+
+       window.  You need to recompile the RTS with front panel
+       support to use this.</para>
+      </listitem>
+    </itemizedlist>
+  </sect2>
+
+  <sect2>
+    <title>FFI changes</title>
+    <itemizedlist>
+      <listitem>
+       <para><command>hsc2hs</command> added (<xref linkend="hsc2hs">).</para>
+      </listitem>
+      <listitem>
+       <para>FFI libraries have been updated to the latest proposal
+       from the FFI task force.  Too many changes to list here, see
+       the docs: <xref linkend="sec-Foreign">.</para>
+      </listitem>
+    </itemizedlist>
+  </sect2>
+
+  <sect2>
+    <title>User-visible library changes</title>
+    <itemizedlist>
+      <listitem>
+       <para><function>putMVar</function> now blocks if the
+       <literal>MVar</literal> is already full.  The
+       <literal>PutFullMVar</literal> exception no longer exists.
+       A non-blocking version of <function>putMVar</function>,
+       <function>tryPutMVar</function>, has been added (<xref
+       linkend="sec-MVars">).</para>
+      </listitem>
+      <listitem>
+       <para>The <literal>Int</literal> and
+        <literal>Integer</literal> types now have instances of
+        <literal>Bits</literal> (<xref linkend="sec-Bits">).</para>
+      </listitem>
+      <listitem>
+       <para>Package <literal>hssource</literal> has been added.  It
+       contains a Haskell 98 abstract syntax, parser, lexer and pretty
+       printer.  No documentation yet.</para>
+      </listitem>
+      <listitem>
+       <para>The methods <literal>fromInt</literal> and
+       <literal>toInt</literal>, which used to be in class
+       <literal>Num</literal> but exported from module
+       <literal>Int</literal>, are no longer in class
+       <literal>Num</literal>.  They're still available from module
+       <literal>Int</literal>, however.</para> 
+
+       <para>In most cases, there should be no benefit from using
+       <literal>fromInt</literal> instead of
+       <literal>fromIntegral</literal>, which is specialised for all
+       integral types.</para>
+      </listitem>
+      <listitem>
+       <para>New modules: DiffArray (<xref linkend="sec-DiffArray">),
+       StorableArray (<xref linkend="sec-StorableArray">),
+       MonadList, MonadCont (no documentation yet).</para>
+      </listitem>
+    </itemizedlist>
+  </sect2>
+
+  <sect2>
+    <title>Build system changes</title>
+    
+    <itemizedlist>
+      <listitem>
+       <para>The <literal>WithGhcHc</literal> setting in
+       <literal>build.mk</literal> has been replaced by the
+       <literal>&ndash;&ndash;with-ghc=<replaceable>ghc</replaceable></literal>
+       option to <literal>configure</literal>.  The new option
+       <emphasis>must</emphasis> be used if you intend to use
+       anything except &ldquo;<literal>ghc</literal>&rdquo; to
+       bootstrap GHC, in order that the build system can figure out
+       what version of GHC you're using.</para>
+      </listitem>
+      <listitem>
+       <para>Source distributions are now made by doing <literal>make
+       distclean</literal> in a build tree, instead of requiring a
+       linked build tree.</para>
+      </listitem>
+    </itemizedlist>
+  </sect2>
+
+  <sect2>
+    <title>Internal changes</title>
+    <itemizedlist>
+      <listitem>
+       <para>Many internal compiler changes: too many to list
+       here.</para>
+      </listitem>
+      <listitem>
+       <para>The old perl driver has been removed and replaced by a
+       driver in the compiler proper.</para>
+      </listitem>
+      <listitem>
+       <para>We now use GMP 3 instead of GMP 2 for
+       arbitrary-precision integer support.</para>
+      </listitem>
+      <listitem>
+       <para>Several libraries rewritten to use the FFI.</para>
+      </listitem>
+    </itemizedlist>
+  </sect2>
+
+</sect1>
+
+<!-- Emacs stuff:
+     ;;; Local Variables: ***
+     ;;; mode: xml ***
+     ;;; sgml-parent-document: ("users_guide.xml" "book" "chapter" "sect1") ***
+     ;;; End: ***
+ -->