details below.
Haskell is "the" standard lazy functional programming language; the
-current language version is 1.3, agreed in May, 1996. The Haskell
+current language version is 1.4, agreed in March, 1997. The Haskell
Report is online at
- http://haskell.cs.yale.edu/1.4/haskell-report.html
+ http://haskell.org/report/
GHC 2.02 is a beta-quality release:
because we don't have a comprehensive set (Donations of Haskell 1.4
programs to our test suite are most welcome).
- * It should generate good code.
+ * It should generate reasonably good code.
All the optimisations that GHC 0.29 used to do are back in, with
the exception of specialisation. It ought to be the case that
GHC 2.02 outperforms GHC 0.29, because it has a much better
- handle on cross-module inlining, but there's a good chance that
- there are performance "holes" lurking. We have yet to make
- a systematic comparison. (Please send us programs where 2.02
- does noticeably worse than 0.29.)
+ handle on cross-module inlining, but we know for certain that
+ this isn't always the case. We have yet to make a systematic
+ comparison. In short, this is not the moment to switch from 0.29
+ if you Really Care about performance. 2.02 does, however,
+ generate much better code than 2.01.
+
+ (Please send us programs where 2.02 does noticeably worse than 0.29.)
* It is more expensive than it should be.
GHC 2.02 has received even less attention to its own performance.
* The whole front end, which deals with the module system, has
been rewritten. The interface file format has changed.
- * GHC 2.02 comes complete with Green Card, a C foreign language
+ * GHC 2.02 is released together with Green Card, a C foreign language
interface for GHC. Green card is a pre-processor that
scans Haskell source files for Green Card directives, which
it expands into tons of "ccall" boilerplate that marshalls
your arguments to and from C.
- * GHC 2.02 is available for Windows NT. From now on, Windows NT
- will be a fully supported platform for GHC.
+ * GHC 2.02 is available for Win32 platforms, which, from now on,
+ is a fully supported platform for GHC.
- * GHC 2.02 supports full cross moudule inlining. Unlike 0.29 and
+ * GHC 2.02 supports full cross module inlining. Unlike 0.29 and
its predecessors, inlining can happen even if the inlined body
mentions a function or type that is not itself exported. This is
one place Haskell 1.4's new module system really pays off.
building from sources), GNU C (`gcc'), and `perl'. We have seen GHC
2.01 work on these platforms: alpha-dec-osf2, hppa1.1-hp-hpux9,
sparc-sun-{sunos4,solaris2}, mips-sgi-irix5, and
-i386-unknown-{linux,solaris2,freebsd}. Similar platforms should work
-with minimal hacking effort. The installer's guide give a full
-what-ports-work report.
+i386-unknown-{linux,solaris2,freebsd,cygwin32}. Similar platforms
+should work with minimal hacking effort. The installer's guide
+give a full what-ports-work report.
Binaries are distributed in `bundles', e.g. a "profiling bundle" or a
"concurrency bundle" for your platform. Just grab the ones you need.
Simon Peyton Jones
-Dated: February 1997
+Dated: March 1997
Relevant URLs on the World-Wide Web:
comp.lang.functional FAQ http://www.cs.nott.ac.uk/Department/Staff/mpj/faq.html
======================================================================
-How to get GHC 2.01:
+How to get GHC 2.02:
+
+The easy way is to go to the WWW GHC distribution page, which is
+self-explanatory:
+
+ ftp://ftp.dcs.gla.ac.uk/pub/haskell/glasgow/README.html
-This release is available by anonymous FTP from the main Haskell
+----------------------------------------------------------------------
+Otherwise you can use the old anonymous FTP method from the main Haskell
archive sites, in the directory pub/haskell/glasgow:
ftp.dcs.gla.ac.uk (130.209.240.50)
ftp.cs.chalmers.se (129.16.227.140)
haskell.cs.yale.edu (128.36.11.43)
+ [BUT: the latter two sites may take a while to get up to date.]
+
The Glasgow site is mirrored by src.doc.ic.ac.uk (146.169.43.1), in
computing/programming/languages/haskell/glasgow.
These are the available files (.gz files are gzipped) -- some are `on
demand', ask if you don't see them:
-ghc-2.01-src.tar.gz The source distribution; about 3MB.
+ghc-2.02-src.tar.gz The source distribution; about 3MB.
-ghc-2.01.ANNOUNCE This file.
+ghc-2.02.ANNOUNCE This file.
-ghc-2.01.{README,RELEASE-NOTES} From the distribution; for those who
+ghc-2.02.{README,RELEASE-NOTES} From the distribution; for those who
want to peek before FTPing...
-ghc-2.01-ps-docs.tar.gz Main GHC documents in PostScript format; in
+ghc-2.02-ps-docs.tar.gz Main GHC documents in PostScript format; in
case your TeX setup doesn't agree with our
DVI files...
-ghc-2.01-<platform>.tar.gz Basic binary distribution for a particular
+ghc-2.02-<platform>.tar.gz Basic binary distribution for a particular
<platform>. Unpack and go: you can compile
and run Haskell programs with nothing but one
of these files. NB: does *not* include
i386-unknown-freebsd
i386-unknown-linux
i386-unknown-solaris2
+ i386-unknown-cygwin32
m68k-sun-sunos4
mips-sgi-irix5
sparc-sun-sunos4
sparc-sun-solaris2
-ghc-2.01-<bundle>-<platform>.tar.gz
+ghc-2.02-<bundle>-<platform>.tar.gz
<platform> ==> as above
<bundle> ==> prof (profiling)
prof-conc (profiling for "conc[urrent]")
prof-ticky (ticky for "conc[urrent]")
-ghc-2.01-hc-files.tar.gz Basic set of intermediate C (.hc) files for the
+ghc-2.02-hc-files.tar.gz Basic set of intermediate C (.hc) files for the
compiler proper, the prelude, and `Hello,
world'. Used for bootstrapping the system.
About 4MB.
-ghc-2.01-<bundle>-hc-files.tar.gz Further sets of .hc files, for
- building other "bundles", e.g., profiling.
-
-ghc-2.01-hi-files-<blah>.tar.gz Sometimes it's more convenient to
- use a different set of interface files than
- the ones in *-src.tar.gz. (The installation
- guide will advise you of this.)