[project @ 1997-05-19 06:25:00 by sof]
[ghc-hetmet.git] / ANNOUNCE-2.02
1              The Glasgow Haskell Compiler -- version 2.02
2              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3
4 We are pleased to announce the first release of the Glasgow Haskell
5 Compiler (GHC, version 2.02) for *Haskell 1.4*.  Sources and binaries
6 are freely available by anonymous FTP and on the World-Wide Web;
7 details below.
8
9 Haskell is "the" standard lazy functional programming language; the
10 current language version is 1.4, agreed in March, 1997.  The Haskell
11 Report is online at
12
13         http://haskell.org/report/
14
15 GHC 2.02 is a beta-quality release:
16
17   * It is reliable.
18     It has been extensively tested against a large suite of Haskell 1.2 
19     programs, but not so extensively tested against Haskell 1.4 programs 
20     because we don't have a comprehensive set (Donations of Haskell 1.4
21     programs to our test suite are most welcome).
22
23   * It should generate reasonably good code.
24     All the optimisations that GHC 0.29 used to do are back in, with 
25     the exception of specialisation.  It ought to be the case that
26     GHC 2.02 outperforms GHC 0.29, because it has a much better
27     handle on cross-module inlining, but we know for certain that
28     this isn't always the case.  We have yet to make a systematic 
29     comparison.  In short, this is not the moment to switch from 0.29
30     if you Really Care about performance.  2.02 does, however,
31     generate much better code than 2.01.
32
33     (Please send us programs where 2.02 does noticeably worse than 0.29.)  
34
35   * It is more expensive than it should be.
36     GHC 2.02 has received even less attention to its own performance.
37     At present it eats more space and time than GHC 0.29, especially
38     for very small programs.  We'll work on this.
39
40   * A couple of Haskell 1.4 features are incompletely supported,
41     notably polymorphic strictness annotations, and Unicode.
42
43 If you want to use Haskell 1.4, this is a good moment to switch.  If
44 you don't need the Haskell 1.4 extensions, then stay with GHC 0.29.
45 If you want to hack on GHC itself, then 2.02 is definitely for you.
46 The release notes comment further on this point.
47
48 GHC 2.02 is substantially changed from 2.01.  Changes worth noting
49 include:
50
51   * The whole front end, which deals with the module system, has 
52     been rewritten. The interface file format has changed.
53
54   * GHC 2.02 is released together with Green Card, a C foreign language 
55     interface for GHC.  Green card is a pre-processor that
56     scans Haskell source files for Green Card directives, which
57     it expands into tons of "ccall" boilerplate that marshalls
58     your arguments to and from C.
59
60   * GHC 2.02 is available for Win32 platforms, which, from now on,
61     is a fully supported platform for GHC.
62
63   * GHC 2.02 supports full cross module inlining.  Unlike 0.29 and
64     its predecessors, inlining can happen even if the inlined body
65     mentions a function or type that is not itself exported.  This is
66     one place Haskell 1.4's new module system really pays off.
67
68   * Like 2.01, GHC 2.02 aborts a compilation if it decides that
69     nothing that the module imports *and acually uses* has changed.
70     This decision is now taken by the compiler itself, rather than
71     by a Perl script (as in 2.01) which sometimes got it wrong.
72
73   * The ghc/lib libraries are much more systematically organised.
74
75   * There's a completely new "make" system.  This will mainly affect people
76     who want the source distribution, who will hopefully find it much, much,
77     easier than grappling with the old Jmakefiles.  Even for binary
78     installation, the procedure is a little simpler, though.
79
80 Please see the release notes for a complete discussion of What's New.
81
82 To run this release, you need a machine with 16+MB memory (more if
83 building from sources), GNU C (`gcc'), and `perl'.  We have seen GHC
84 2.01 work on these platforms: alpha-dec-osf2, hppa1.1-hp-hpux9,
85 sparc-sun-{sunos4,solaris2}, mips-sgi-irix5, and
86 i386-unknown-{linux,solaris2,freebsd,cygwin32}.  Similar platforms
87 should work with minimal hacking effort.  The installer's guide
88 give a full what-ports-work report.
89
90 Binaries are distributed in `bundles', e.g. a "profiling bundle" or a
91 "concurrency bundle" for your platform.  Just grab the ones you need.
92
93 Once you have the distribution, please follow the pointers in
94 ghc/README to find all of the documentation about this release.  NB:
95 preserve modification times when un-tarring the files (no `m' option
96 for tar, please)!
97
98 We run mailing lists for GHC users and bug reports; to subscribe, send
99 mail to majordomo@dcs.gla.ac.uk; the msg body should be:
100
101     subscribe glasgow-haskell-<which> Your Name <your-email@where.you.are>
102
103 Please send bug reports about GHC to glasgow-haskell-bugs@dcs.gla.ac.uk.
104
105 Simon Peyton Jones
106
107 Dated: March 1997
108
109 Relevant URLs on the World-Wide Web:
110
111 GHC home page             http://www.dcs.gla.ac.uk/fp/software/ghc/
112 Glasgow FP group page     http://www.dcs.gla.ac.uk/fp/
113 comp.lang.functional FAQ  http://www.cs.nott.ac.uk/Department/Staff/mpj/faq.html
114
115 ======================================================================
116 How to get GHC 2.02:
117
118 The easy way is to go to the WWW GHC distribution page, which is
119 self-explanatory:
120
121         ftp://ftp.dcs.gla.ac.uk/pub/haskell/glasgow/README.html
122
123 ----------------------------------------------------------------------
124 Otherwise you can use the old anonymous FTP method from the main Haskell
125 archive sites, in the directory pub/haskell/glasgow:
126
127         ftp.dcs.gla.ac.uk   (130.209.240.50)
128         ftp.cs.chalmers.se  (129.16.227.140)
129         haskell.cs.yale.edu (128.36.11.43)
130
131         [BUT: the latter two sites may take a while to get up to date.]
132
133 The Glasgow site is mirrored by src.doc.ic.ac.uk (146.169.43.1), in
134 computing/programming/languages/haskell/glasgow.
135
136 These are the available files (.gz files are gzipped) -- some are `on
137 demand', ask if you don't see them:
138
139 ghc-2.02-src.tar.gz     The source distribution; about 3MB.
140
141 ghc-2.02.ANNOUNCE       This file.
142
143 ghc-2.02.{README,RELEASE-NOTES} From the distribution; for those who
144                         want to peek before FTPing...
145
146 ghc-2.02-ps-docs.tar.gz Main GHC documents in PostScript format; in
147                         case your TeX setup doesn't agree with our
148                         DVI files...
149
150 ghc-2.02-<platform>.tar.gz Basic binary distribution for a particular
151                         <platform>.  Unpack and go: you can compile
152                         and run Haskell programs with nothing but one
153                         of these files.  NB: does *not* include
154                         profiling (see below).
155
156         <platform> ==>  alpha-dec-osf2
157                         hppa1.1-hp-hpux9
158                         i386-unknown-freebsd
159                         i386-unknown-linux
160                         i386-unknown-solaris2
161                         i386-unknown-cygwin32
162                         m68k-sun-sunos4
163                         mips-sgi-irix5
164                         sparc-sun-sunos4
165                         sparc-sun-solaris2
166
167 ghc-2.02-<bundle>-<platform>.tar.gz
168
169         <platform> ==>  as above
170         <bundle>   ==>  prof (profiling)
171                         conc (concurrent Haskell)
172                         par  (parallel)
173                         gran (GranSim parallel simulator)
174                         ticky (`ticky-ticky' counts -- for implementors)
175                         prof-conc (profiling for "conc[urrent]")
176                         prof-ticky (ticky for "conc[urrent]")
177
178 ghc-2.02-hc-files.tar.gz Basic set of intermediate C (.hc) files for the
179                          compiler proper, the prelude, and `Hello,
180                          world'.  Used for bootstrapping the system.
181                          About 4MB.
182