- The Glasgow Haskell Compiler -- version 2.02
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ The Glasgow Haskell Compiler -- version 4.01
+ ==============================================
-We are pleased to announce the first release of the Glasgow Haskell
-Compiler (GHC, version 2.02) for *Haskell 1.4*. Sources and binaries
-are freely available by anonymous FTP and on the World-Wide Web;
-details below.
+We are pleased to announce a new release of the Glasgow Haskell
+Compiler (GHC), version 4.01. The source distribution is freely
+available via the World-Wide Web and through anon. FTP; details below.
Haskell is "the" standard lazy functional programming language; the
-current language version is 1.3, agreed in May, 1996. The Haskell
-Report is online at
-
- http://haskell.cs.yale.edu/1.4/haskell-report.html
-
-GHC 2.02 is a beta-quality release - some highlights:
-
- * It is reliable.
- It has been extensively tested against a large suite of Haskell 1.2
- programs, but not so extensively tested against Haskell 1.4 programs
- 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.
- 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.)
-
- * It is more expensive than it should be.
- GHC 2.02 has received even less attention to its own performance.
- At present it eats more space and time than GHC 0.29, especially
- for very small programs. We're working on this.
-
- * A couple of Haskell 1.4 features are incompletely supported,
- notably polymorphic strictness annotations, and Unicode.
-
-If you want to use Haskell 1.4, this is a good moment to switch. If
-you don't need the Haskell 1.4 extensions, then stay with GHC 0.29.
-If you want to hack on GHC itself, then 2.02 is definitely for you.
-The release notes comment further on this point.
-
-GHC 2.02 is substantially changed from 2.01. Changes worth noting
-include:
-
- * 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
- 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 Win32 platforms. From now on, Win32
- (Windows NT and Windows 95) will be a fully supported platform
- for GHC.
-
- * 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.
-
- * Like 2.01, GHC 2.02 aborts a compilation if it decides that
- nothing that the module imports *and acually uses* has changed.
- This decision is now taken by the compiler itself, rather than
- by a Perl script (as in 2.01) which sometimes got it wrong.
-
- * The ghc/lib libraries are much more systematically organised.
-
- * There's a completely new "make" system. This will mainly affect people
- who want the source distribution, who will hopefully find it much, much,
- easier than grappling with the old Jmakefiles. Even for binary
- installation, the procedure is a little simpler, though.
-
-Please see the release notes for a complete discussion of What's New.
-
-To run this release, you need a machine with 16+MB memory (more if
-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,cygwin32}. Similar platforms
-should work with minimal hacking effort. The installer's guide give a
-complete run-down of what-ports-work.
-
-Binaries are distributed in `bundles', e.g. a "profiling bundle" or a
-"concurrency bundle" for your platform. Just grab the ones you need.
+current language version is 1.4, agreed in April, 1997. Haskell
+related information is available from the Haskell home page at
-Once you have the distribution, please follow the pointers in the
-README file to find all of the documentation about this release. NB:
-preserve modification times when un-tarring the files (no `m' option
-for tar, please)!
+ http://haskell.org/
+
++ What's new
+=============
+
+GHC 4.01 is a small increment over 4.00. Many bugs have been fixed.
+The following features are new:
+
+ * Weak pointers,
+ * The foreign function interface is now complete.
+
+In addition, bootstrapping the compiler should now work out of the box.
+
+The following things have not been fixed yet:
+
+ * The native code generator is still flaky, and is turned off by
+ default for the time being.
+ * The profiler is still flaky.
+
++ Mailing lists
+================
We run mailing lists for GHC users and bug reports; to subscribe, send
mail to majordomo@dcs.gla.ac.uk; the msg body should be:
subscribe glasgow-haskell-<which> Your Name <your-email@where.you.are>
-Please send bug reports about GHC to glasgow-haskell-bugs@dcs.gla.ac.uk.
+Please send bug reports about GHC to glasgow-haskell-bugs@dcs.gla.ac.uk ; GHC
+users hang out on glasgow-haskell-users@dcs.gla.ac.uk
-Simon Peyton Jones
-Dated: March 1997
++ On-line GHC-related resources
+================================
Relevant URLs on the World-Wide Web:
GHC home page http://www.dcs.gla.ac.uk/fp/software/ghc/
+Haskell home page http://haskell.org/
Glasgow FP group page http://www.dcs.gla.ac.uk/fp/
comp.lang.functional FAQ http://www.cs.nott.ac.uk/Department/Staff/mpj/faq.html
-======================================================================
-How to get GHC 2.02:
-
-This release is available by anonymous FTP 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)
-
-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:
-README.html A WWW `front-end' to the contents of the glasgow
- directory.
++ How to get it
+================
-ghc-2.02-src.tar.gz The source distribution; about 3MB.
+The easy way is to go to the WWW page, which should be
+self-explanatory:
-ghc-2.02.ANNOUNCE This file.
+ http://www.dcs.gla.ac.uk/fp/software/ghc/
-ghc-2.02.{README,RELEASE-NOTES} From the distribution; for those who
- want to peek before FTPing...
-
-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...
+Once you have the distribution, please follow the pointers in the
+README file to find all of the documentation about this release. NB:
+preserve modification times when un-tarring the files (no `m' option
+for tar, please)!
-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
- profiling (see below).
- <platform> ==> alpha-dec-osf2
- hppa1.1-hp-hpux9
- i386-unknown-freebsd
- i386-unknown-linux
- i386-unknown-solaris2
- i386-unknown-cygwin32
- m68k-sun-sunos4
- mips-sgi-irix5
- sparc-sun-sunos4
- sparc-sun-solaris2
++ System requirements
+======================
-ghc-2.02-<bundle>-<platform>.tar.gz
+To compile up this source-only release, you need a machine with 32+MB
+memory, GNU C (`gcc'), `perl' plus a version of GHC installed (version
+2.10 at least). This release is known to work on the following platforms:
- <platform> ==> as above
- <bundle> ==> prof (profiling)
- conc (concurrent Haskell)
- par (parallel)
- gran (GranSim parallel simulator)
- ticky (`ticky-ticky' counts -- for implementors)
- prof-conc (profiling for "conc[urrent]")
- prof-ticky (ticky for "conc[urrent]")
+ * i386-unknown-{linux,solaris2,freebsd,cygwin32}
+ * sparc-sun-{sunos4,solaris2}
-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.
+Ports to the following platforms should be relatively easy, but
+haven't been tested due to lack of time/hardware:
-ghc-2.02-<bundle>-hc-files.tar.gz Further sets of .hc files, for
- building other "bundles", e.g., profiling.
+ * alpha-dec-osf{2,3}
+ * hppa1.1-hp-hpux{9,10}
+ * mips-sgi-irix{5,6}
+ * {rs6000,powerpc}-ibm-aix
-ghc-2.02-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.)
+The installer's guide included in distribution gives a complete
+run-down of what-ports-work; an on-line version can be found at
+ http://www.dcs.gla.ac.uk/fp/software/ghc/4.01/installation_guide/installing_toc.html