+++ /dev/null
- The Glasgow Haskell Compiler -- version 2.01
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-We are pleased to announce the first release of the Glasgow Haskell
-Compiler (GHC, version 2.01) for *Haskell 1.3*. 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/haskell-report/haskell-report.html.
-
-GHC 2.01 is a test-quality release, worth trying if you are a gung-ho
-Haskell user or if you are keen to try the new Haskell 1.3 features.
-We advise *AGAINST* relying on this compiler (2.01) in any way. We
-are releasing our current Haskell 1.2 compiler (GHC 0.29) at the same
-time; it should be pretty solid.
-
-If you want to hack on GHC itself, then 2.01 is for you. The release
-notes comment further on this point.
-
-What happens next? I'm on sabbatical for a year, and Will Partain
-(the one who really makes GHC go) is leaving at the end of July 96 for
-a Real Job. So you shouldn't expect rapid progress on 2.01 over the
-next 6-12 months.
-
-The Glasgow Haskell project seeks to bring the power and elegance of
-functional programming to bear on real-world problems. To that end,
-GHC lets you call C (including cross-system garbage collection),
-provides good profiling tools, and concurrency and parallelism. Our
-goal is to make it the "tool of choice for real-world applications".
-
-GHC 2.01 is substantially changed from 0.26 (July 1995), as the new
-version number suggests. (The 1.xx numbers are reserved for further
-spinoffs from the Haskell-1.2 compiler.) Changes worth noting
-include:
-
- * GHC is now a Haskell 1.3 compiler (only). Virtually all Haskell
- 1.2 modules need changing to go through GHC 2.01; the GHC
- documentation includes a ``crib sheet'' of conversion advice.
-
- * The Haskell compiler proper (ghc/compiler/ in the sources) has
- been substantially rewritten and is, of course, Much, Much,
- Better. The typechecker and the "renamer" (module-system support)
- are new.
-
- * Sadly, GHC 2.01 is currently slower than 0.26. It has taken
- all our cycles to get it correct. We fondly believe that the
- architectural changes we have made will end up making 2.0x
- *faster* than 0.2x, but we have yet to substantiate this belief;
- sorry. Still, 2.01 (built with 0.29) is quite usable.
-
- * GHC 2.01's optimisation (-O) is not nearly as good as 0.2x, mostly
- because we haven't taught it about cross-module information
- (arities, inlinings, etc.). For this reason, a
- 2.01-built-with-2.01 (bootstrapped) is no fun to use (too slow),
- and, sadly, that is where we would normally get .hc (intermediate
- C; used for porting) files from... (hence: none provided).
-
- * GHC 2.01 is much smarter than 0.26 about when to recompile. It
- will abort a compilation that "make" thought was necessary at a
- very early stage, if none of the imported types/classes/functions
- *that are actually used* have changed. This "recompilation
- checker" uses a completely different interface-file format than
- 0.26. (Interface files are a matter for the compilation system in
- Haskell 1.3, not part of the language.)
-
- * The 2.01 libraries are not "split" (yet), meaning you will end up
- with much larger binaries...
-
- * The not-mandated-by-the-language system libraries are now separate
- from GHC (though usually distributed with it). We hope they can
- take on a "life of their own", independent of GHC.
-
- * All the same cool extensions (e.g., unboxed values), system
- libraries (e.g., Posix), profiling, Concurrent Haskell, Parallel
- Haskell,...
-
- * New ports: Linux ELF (same as distributed as GHC 0.28).
-
-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}. 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.
-
-Once you have the distribution, please follow the pointers in
-ghc/README 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: July '96
-
-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.01:
-
-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:
-
-ghc-2.01-src.tar.gz The source distribution; about 3MB.
-
-ghc-2.01.ANNOUNCE This file.
-
-ghc-2.01.{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
- case your TeX setup doesn't agree with our
- DVI files...
-
-ghc-2.01-<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
- m68k-sun-sunos4
- mips-sgi-irix5
- sparc-sun-sunos4
- sparc-sun-solaris2
-
-ghc-2.01-<bundle>-<platform>.tar.gz
-
- <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]")
-
-ghc-2.01-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.)