[project @ 2001-03-22 12:12:23 by simonmar]
[ghc-hetmet.git] / ghc / docs / users_guide / 5-00-notes.sgml
1 <sect1 id="release-5-00">
2   <title>Release notes for version 5.00 (February 2001)</title>
3
4   <sect2>
5     <title>User-visible compiler changes</title>
6     <itemizedlist>
7       <listitem>
8         <para>GHCi, the new interactive environment on top of GHC, has
9         been added (<xref linkend="ghci">).</para>
10       </listitem>
11       <listitem>
12         <para>New <option>--make</option> flag added (<xref
13         linkend="make-mode">).</para>
14       </listitem>
15       <listitem>
16         <para>The native code generator now supports Sparc in addition
17         to x86.</para>
18       </listitem>
19       <listitem>
20         <para>We now make it clear which options can be placed in an
21         OPTIONS pragma.  See <xref
22         linkend="static-dynamic-flags">.</para>
23       </listitem>
24       <listitem>
25         <para><option>-fglasgow-exts</option> no longer implies
26         <option>-package lang</option>.</para>
27       </listitem>
28       <listitem>
29         <para><option>-noC</option> is no more.</para>
30       </listitem>
31       <listitem>
32         <para><option>-hi</option> and <option>-nohi</option> are no more.</para>
33       </listitem>
34       <listitem>
35         <para>The concept of &ldquo;packages&rdquo; has been
36         generalised and extended.  Packages may be installed or
37         removed from an existing GHC installation using the new
38         <command>ghc-pkg</command> tool.  See <xref
39         linkend="packages">.</para>
40       </listitem>
41       <listitem>
42         <para>Initial unicode support: the <literal>Char</literal>
43         type is now 31 bits.  We don't yet have support for unicode
44         I/O.</para>
45       </listitem>
46       <listitem>
47         <para><option>-v</option> now takes an optional numeric
48         argument indicating the level of verbosity (<xref
49         linkend="options-help">).  <option>-dshow-passes</option> has
50         been removed.</para>
51       </listitem>
52       <listitem>
53         <para>Parallel list comprehensions added.</para>
54       </listitem>
55       <listitem>
56         <para>Profiling: please use 
57               <literal>{-# SCC ".." #-}</literal> 
58               rather than <literal>_scc_ "..."</literal>.  The latter
59               will be phased out in due course.</para>
60       </listitem>
61       <listitem>
62         <para>A new experimental optimisation, SpecConstr, is turned
63         on with <literal>-O2</literal>.</para>
64       </listitem>
65       <listitem>
66         <para>Please report bugs using the <ulink
67         url="http://sourceforge.net/projects/ghc/">SourceForge bug
68         tracker</ulink> instead of
69         <email>glasgow-haskell-bugs@haskell.org</email> if
70         possible.</para>
71       </listitem>
72       <listitem>
73         <para>Documentation changes: there's now a useful Flag
74         Reference section, see <xref linkend="flag-reference">.</para>
75       </listitem>
76       <listitem>
77         <para>Many, many, bugfixes.</para>
78       </listitem>
79     </itemizedlist>
80   </sect2>
81
82   <sect2>
83     <title>New experimental features</title>
84
85     <itemizedlist>
86       <listitem>
87         <para>A &ldquo;front panel&rdquo; for GHC-compiled programs
88         displays real-time graphs of memory behaviour in a GTK+
89         window.  You need to recompile the RTS with front panel
90         support to use this.</para>
91       </listitem>
92     </itemizedlist>
93   </sect2>
94
95   <sect2>
96     <title>FFI changes</title>
97     <itemizedlist>
98       <listitem>
99         <para><command>hsc2hs</command> added (<xref linkend="hsc2hs">).</para>
100       </listitem>
101       <listitem>
102         <para>FFI libraries have been updated to the latest proposal
103         from the FFI task force.  Too many changes to list here, see
104         the docs: <xref linkend="sec-Foreign">.</para>
105       </listitem>
106     </itemizedlist>
107   </sect2>
108
109   <sect2>
110     <title>User-visible library changes</title>
111     <itemizedlist>
112       <listitem>
113         <para><function>putMVar</function> now blocks if the
114         <literal>MVar</literal> is already full.  The
115         <literal>PutFullMVar</literal> exception no longer exists.  A
116         non-blocking version of <function>putMVar</function>,
117         <function>tryPutMVar</function>, has been added (<xref
118         linkend="sec-MVars">).</para>
119       </listitem>
120       <listitem>
121         <para>The <literal>Integer</literal> type now has an instance
122         of <literal>Bits</literal> (<xref linkend="sec-Bits">).</para>
123       </listitem>
124       <listitem>
125         <para>Package <literal>hssource</literal> has been added.  It
126         contains a Haskell 98 abstract syntax, parser, lexer and pretty
127         printer.  No documentation yet.</para>
128       </listitem>
129     </itemizedlist>
130   </sect2>
131
132   <sect2>
133     <title>Build system changes</title>
134     
135     <itemizedlist>
136       <listitem>
137         <para>The <literal>WithGhcHc</literal> setting in
138         <literal>build.mk</literal> has been replaced by the
139         <literal>--with-ghc=<replaceable>ghc</replaceable></literal>
140         option to <literal>configure</literal>.  The new option
141         <emphasis>must</emphasis> be used if you intend to use
142         anything except &ldquo;<literal>ghc</literal>&rdquo; to
143         bootstrap GHC, in order that the build system can figure out
144         what version of GHC you're using.</para>
145       </listitem>
146       <listitem>
147         <para>Source distributions are now made by doing <literal>make
148         distclean</literal> in a build tree, instead of requiring a
149         linked build tree.</para>
150       </listitem>
151     </itemizedlist>
152   </sect2>
153
154   <sect2>
155     <title>Internal changes</title>
156     <itemizedlist>
157       <listitem>
158         <para>Many internal compiler changes: too many to list
159         here.</para>
160       </listitem>
161       <listitem>
162         <para>The old perl driver has been removed and replaced by a
163         driver in the compiler proper.</para>
164       </listitem>
165       <listitem>
166         <para>We now use GMP 3 instead of GMP 2 for
167         arbitrary-precision integer support.</para>
168       </listitem>
169       <listitem>
170         <para>Several libraries rewritten to use the FFI.</para>
171       </listitem>
172     </itemizedlist>
173   </sect2>
174
175 </sect1>
176
177 <!-- Emacs stuff:
178      ;;; Local Variables: ***
179      ;;; mode: sgml ***
180      ;;; sgml-parent-document: ("users_guide.sgml" "book" "chapter" "sect1") ***
181      ;;; End: ***
182  -->