--- /dev/null
+ The Glasgow Haskell Compiler
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+We are happy to announce the first full release of the Glasgow Haskell
+Compiler (GHC, version 0.10). It is freely available by FTP; details
+appear below.
+
+To run this release, you need a Sun4, probably with 16+MB memory, and
+GNU C (gcc), version 2.1 or greater, and "perl". If building from
+source, you will need Chalmers HBC, version 0.998.x.
+
+We hope you enjoy this system, and we look forward to hearing about
+your successes with it! Please report bugs to
+glasgow-haskell-bugs@dcs.glasgow.ac.uk and direct general queries to
+glasgow-haskell-request@<same>.
+
+Simon Peyton Jones
+(and his GRASPing colleagues)
+
+Why a Haskell programmer might want to use GHC
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+* Almost all of Haskell is implemented. In particular, the full range
+ of data types is supported: arbitrary precision integers, rationals,
+ double-precision floats, and "real" arrays with O(1) access time.
+ (The release notes list all unimplemented language features.)
+
+* An extensible I/O system is provided, based on a "monad" [1]. (The
+ standard Haskell I/O system is built on this foundation.)
+
+* A number of significant language extensions are implemented:
+ - Fully fledged unboxed data types [2].
+ - Ability to write arbitrary in-line C-language code, using
+ the I/O monad to retain referential transparency.
+ - Incrementally-updatable arrays, also embedded in a monad.
+ - Mutable reference types.
+
+* By default, the system uses a generational garbage collector which
+ lets you run programs whose live data is significantly larger than
+ the physical memory size before thrashing occurs. (Conventional
+ 2-space GC starts thrashing when the live data gets to about half
+ the physical memory size.)
+
+* A new profiling system is supplied, which enables you to find out which
+ bits of your program are eating both *time* and the *space* [3].
+
+* Good error messages. Well, fairly good error messages. Line
+ numbers are pretty accurate, and during type checking you get
+ several (accurate) error reports rather than just one.
+
+* Performance: programs compiled with GHC "usually" beat
+ Chalmers-HBC-compiled ones. If you find programs where HBC wins,
+ send them to us :-).
+
+* We have a pretty good test suite, and this version passes
+ practically all of it. (Yes, it can compile itself, too.) We hope
+ you will find the system to be robust.
+
+Why a functional-language implementor might want to use GHC
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+* We have tried very hard to write the compiler in a modular and
+ well-documented way, so that other researchers can modify and extend
+ it. One of our goals is specifically to provide a framework to
+ support others' work. Several people are already using it in this
+ way.
+
+* Highly configurable runtime system. Heavy use of C macros means
+ that you can modify much of the storage representation without
+ telling the compiler. For example, the system comes with 4
+ different garbage collectors! (all working)
+
+* Internals: extensive use of the second-order lambda calculus as an
+ intermediate code; the Spineless Tagless G-machine as evaluation
+ model [4].
+
+* Various performance-measurement hooks.
+
+Main shortcomings
+~~~~~~~~~~~~~~~~~
+* No interactive system. This is a batch compiler only. (Any
+ volunteers?)
+
+* Compiler is greedy on resources. Going via C doesn't help here.
+
+* This system should run on any Unix box. We haven't had time to do
+ any non-Sun4 ports. Help or prodding welcome.
+
+References
+~~~~~~~~~~
+All these papers come with the distribution [in ghc/docs/papers].
+
+[1] "Imperative functional programming", Peyton Jones & Wadler, POPL '93
+
+[2] "Unboxed data types as first-class citizens", Peyton Jones &
+ Launchbury, FPCA '91
+
+[3] "Profiling lazy functional languages", Sansom & Peyton Jones,
+ Glasgow workshop '92
+
+[4] "Implementing lazy functional languages on stock hardware", Peyton
+ Jones, Journal of Functional Programming, Apr 1992
+
+How to get it
+~~~~~~~~~~~~~
+This release is available, in whole or in part, from the usual Haskell
+anonymous FTP sites, in the directory pub/haskell/glasgow:
+
+ nebula.cs.yale.edu (128.36.13.1)
+ ftp.dcs.glasgow.ac.uk (130.209.240.50)
+ animal.cs.chalmers.se (129.16.225.66)
+
+(Beleaguered NIFTP users within the UK can get the same files from
+Glasgow by using a <FP>/haskell/glasgow prefix, instead of
+pub/haskell/glasgow. Also, we are mirrored by src.doc.ic.ac.uk, in
+languages/haskell/glasgow, and you can get files from there by every
+means known to humanity.)
+
+These are the available files:
+
+ghc-0.10-src.tar.Z The basic source distribution; assumes you
+ will compile it with Chalmers HBC, version
+ 0.998.n, on a Sun4, for which you have GNU C
+ (gcc) version 2.1 or greater. About 3MB.
+
+ghc-0.10-bin-sun4.tar.Z A binary distribution -- avoid compiling
+ altogether! For SunOS 4.1.x; assumes you
+ have GNU C (gcc) version 2.x around...
+
+ghc-0.10-patch-* Patches to the original distribution. There
+ are none to start with, of course, but there
+ might be by the time you grab the files.
+ Please check for them.
+
+Once you have the distribution, please follow the pointers in the
+ghc/README file to find all of the documentation in and about this
+release.