- 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.
-
-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.
-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)!
+ The (Interactive) Glasgow Haskell Compiler -- version 5.00
+ ============================================================
-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:
+We are pleased to announce a new major release of the Glasgow Haskell
+Compiler (GHC), version 5.00. The source distribution is freely
+available via the World-Wide Web and through anon. FTP, under a
+BSD-style license. See below for download details. Pre-built
+packages for Linux, FreeBSD, Solaris and Win32 are also available.
- subscribe glasgow-haskell-<which> Your Name <your-email@where.you.are>
+Haskell is a standard lazy functional programming language; the
+current language version is Haskell 98, agreed in December 1998.
-Please send bug reports about GHC to glasgow-haskell-bugs@dcs.gla.ac.uk.
+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, C++, whatever).
-Simon Peyton Jones
+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 at
-Dated: March 1997
+ http://www.haskell.org/
-Relevant URLs on the World-Wide Web:
+GHC's Web page lives at
+
+ http://www.haskell.org/ghc/
+
+
+
+ What's new
+============
+
+5.00 has been majorly revamped since the previous stable version, 4.08.2.
+This should be a stable release. Major changes since 4.08.2 are:
+
+ - An interactive system, similar in style to Hugs. You can interactively
+ load and unload modules, run expressions, ask the types of things.
+ Module dependencies are tracked and chased automatically.
+ Combinations of compiled and interpreted modules may be used.
+ All the GHC libraries are available in interactive mode, as are
+ most of the Glasgow extensions to Haskell 98. Compilation in
+ interactive mode (to bytecode) is about three times faster than
+ compiling to object code.
+
+ - Batch compilation of multiple modules at once, with automatic
+ dependency chasing. For large programs this can halve compilation
+ times, and removes the need for Makefiles.
+
+ - Enhanced package (library) management system. Packages may be
+ installed and removed from an installation using the ghc-pkg tool.
+
+ - Initial Unicode support - the Char type is now 31 bits.
+
+ - Sparc native code generator, giving much faster compilation on sparcs.
+ (Native code generation for x86s has been available for a while).
+
+ - Improved heap profiling - you can restrict heap profiles
+ by type, closure description, cost centre, and module.
+
+ - Support for the latest Foreign Function Interface (FFI)
+ proposals. Marcin Kowalczyk's hsc2hs tool is included.
+
+ - Language extensions: parallel list comprehensions and functional
+ dependencies.
-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
+ - The usual huge collection of bug fixes. Most reported bugs have
+ been fixed.
+
+For full details see the release notes:
+
+ http://www.haskell.org/ghc/docs/5.00/set/release-5-00.html
+
+
+
+ How to get it
+===============
+
+The easy way is to go to the WWW page, which should be
+self-explanatory:
+
+ http://www.haskell.org/ghc/
+
+We supply binary builds in .rpm/.deb form for all you Linux junkies
+out there, and in InstallShield form for Windows folks. Everybody
+else gets a .tar.gz which can be installed where you want.
+
+Once you have the distribution, please follow the pointers in the
+README file to find all of the documentation about this release.
+
+
+
+ On-line GHC-related resources
+===============================
+
+Relevant URLs on the World-Wide Web:
-======================================================================
-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
+=====================
-These are the available files (.gz files are gzipped) -- some are `on
-demand', ask if you don't see them:
+To compile programs with GHC, you need a machine with 32+MB memory, GNU C
+and perl. This release is known to work on the following platforms:
-README.html A WWW `front-end' to the contents of the glasgow
- directory.
+ * i386-unknown-{linux,freebsd,mingw32}
+ * sparc-sun-solaris2
-ghc-2.02-src.tar.gz The source distribution; about 3MB.
+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.ANNOUNCE This file.
+ * hppa1.1-hp-hpux{9,10}
+ * i386-unknown-solaris2
+ * alpha-dec-osf{2,3}
+ * mips-sgi-irix{5,6}
+ * {rs6000,powerpc}-ibm-aix
-ghc-2.02.{README,RELEASE-NOTES} From the distribution; for those who
- want to peek before FTPing...
+The builder's guide included in distribution gives a complete
+run-down of what ports work; an on-line version can be found at
-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...
+ http://www.haskell.org/ghc/docs/5.00/building/building-guide.html
-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
-ghc-2.02-<bundle>-<platform>.tar.gz
+ Mailing lists
+===============
- <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]")
+We run mailing lists for GHC users and bug reports; to subscribe, use
+the web interfaces at
-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.
+ http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
+ http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
-ghc-2.02-<bundle>-hc-files.tar.gz Further sets of .hc files, for
- building other "bundles", e.g., profiling.
+There are several other haskell and ghc-related mailing lists on
+www.haskell.org; for the full list, see
-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.)
+ http://www.haskell.org/mailman/listinfo/
+Please send bug reports about GHC to glasgow-haskell-bugs@haskell.org;
+GHC users hang out on glasgow-haskell-users@haskell.org. Bleeding
+edge CVS users party on cvs-ghc@haskell.org.