- The Glasgow Haskell Compiler -- version 2.02
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-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.
+ ============================================================
+ The (Interactive) Glasgow Haskell Compiler -- version 5.04
+ ============================================================
-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
+We are pleased to announce a new major release of the Glasgow Haskell
+Compiler (GHC), version 5.04.
- http://haskell.cs.yale.edu/1.4/haskell-report.html
+Highlights include:
-GHC 2.02 is a beta-quality release - some highlights:
+ * Hierarchical libraries, with documentation produced by Haddock.
- * 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).
+ * New type system extensions: full rank-N types and kind
+ annotations.
+
+ * New heap profiling facilities (retainer profiling, biographical
+ profiling).
- * 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.)
+ * MacOS X support
- * 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.
+See the release notes for a full list of the changes:
- * A couple of Haskell 1.4 features are incompletely supported,
- notably polymorphic strictness annotations, and Unicode.
+ http://www.haskell.org/ghc/docs/latest/html/users_guide/release-5-04.html
-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:
+How to get it
+~~~~~~~~~~~~~
+The easy way is to go to the WWW page, which should be self-explanatory:
- * The whole front end, which deals with the module system, has
- been rewritten. The interface file format has changed.
+ http://www.haskell.org/ghc/
- * 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.
+We supply binary builds in the native package format for various
+flavours of Linux and BSD, and in Windows Installer (MSI) form
+for Windows folks. Binary builds for other platforms are available
+as a .tar.gz which can be installed wherever you want. The source
+distribution is also available from the same place.
- * 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.
+Packages will appear as they are built - if the package for your
+system isn't available yet, please try again later.
- * 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.
+Background
+~~~~~~~~~~
+Haskell is a standard lazy functional programming language; the
+current language version is Haskell 98, agreed in December 1998.
- * 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.
+GHC is a state-of-the-art programming suite for Haskell. Included is
+an optimising compiler generating good code for a variety of
+platforms, together with an interactive system for convenient, quick
+development. The distribution includes space and time profiling
+facilities, a large collection of libraries, and support for various
+language extensions, including concurrency, exceptions, and foreign
+language interfaces (C, whatever). GHC is distributed under a
+BSD-style open source license.
- * The ghc/lib libraries are much more systematically organised.
+A wide variety of Haskell related resources (tutorials, libraries,
+specifications, documentation, compilers, interpreters, references,
+contact information, links to research groups) are available from the
+Haskell home page (see below).
- * 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.
-
-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)!
-
-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.
-
-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/
-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:
+GHC home page http://www.haskell.org/ghc/
+Haskell home page http://www.haskell.org/
+comp.lang.functional FAQ http://www.cs.nott.ac.uk/~gmh/faq.html
-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.
+System requirements
+~~~~~~~~~~~~~~~~~~~
+To compile programs with GHC, you need a machine with 64+MB memory, GCC
+and perl. This release is known to work on the following platforms:
-These are the available files (.gz files are gzipped) -- some are `on
-demand', ask if you don't see them:
+ * i386-unknown-{linux,*bsd,mingw32}
+ * sparc-sun-solaris2
+ * alpha-dec-osf3
+ * powerpc-apple-darwin (MacOS/X)
-README.html A WWW `front-end' to the contents of the glasgow
- directory.
+Ports to the following platforms should be relatively easy (for a
+wunderhacker), but haven't been tested due to lack of time/hardware:
-ghc-2.02-src.tar.gz The source distribution; about 3MB.
+ * hppa1.1-hp-hpux{9,10}
+ * i386-unknown-solaris2
+ * mips-sgi-irix{5,6}
+ * {rs6000,powerpc}-ibm-aix
-ghc-2.02.ANNOUNCE This file.
+The builder's guide on the web site gives a complete run-down of what
+ports work; it can be found at
-ghc-2.02.{README,RELEASE-NOTES} From the distribution; for those who
- want to peek before FTPing...
+ http://www.haskell.org/ghc/docs/latest/html/building/building-guide.html
-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.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).
+Mailing lists
+~~~~~~~~~~~~~
+We run mailing lists for GHC users and bug reports; to subscribe, use
+the web interfaces at
- <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
+ http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
+ http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
-ghc-2.02-<bundle>-<platform>.tar.gz
+There are several other haskell and ghc-related mailing lists on
+www.haskell.org; for the full list, see
- <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]")
+ http://www.haskell.org/mailman/listinfo/
-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.
+Please report bugs using our SourceForge page at
+
+ http://sourceforge.net/projects/ghc/
-ghc-2.02-<bundle>-hc-files.tar.gz Further sets of .hc files, for
- building other "bundles", e.g., profiling.
+or send them to glasgow-haskell-bugs@haskell.org.
-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.)
+GHC users hang out on glasgow-haskell-users@haskell.org. Bleeding
+edge CVS users party on cvs-ghc@haskell.org.