[project @ 2000-09-26 01:54:56 by chak]
[ghc-hetmet.git] / ghc / ANNOUNCE
index 011c1c9..ed1f9e9 100644 (file)
-         The Glasgow Haskell Compiler -- version 2.02
-         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+             The Glasgow Haskell Compiler -- version 4.08
+            ==============================================
 
-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.08.  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.
 
 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 Haskell 98, agreed in December 1998.
 
-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 is a state-of-the-art optimising compiler for Haskell, generating
+good code for a variety of platforms.  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).
 
-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:
+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
 
-    subscribe glasgow-haskell-<which> Your Name <your-email@where.you.are>
+        http://www.haskell.org/
 
-Please send bug reports about GHC to glasgow-haskell-bugs@dcs.gla.ac.uk.
+GHC's Web page lives at
 
-Simon Peyton Jones
+        http://www.haskell.org/ghc/
 
-Dated: March 1997
++ What's new
+=============
 
-Relevant URLs on the World-Wide Web:
+This should be a stable release.  There have been many enhancements
+since 4.06, and shed-loads of bug-fixes (one shed (imperial) ~ one ton
+(US)).
+
+There are the following changes
+
+   - New profiling subsystem, based on cost-centre stacks.
+
+   - Working x86 native code generator: now it works properly, runs
+     about twice as fast as compiling via C, and is on a par for
+     run-time speed (except in FP-intensive programs).
+
+   - Implicit parameters (i.e. dynamic scoping without the pain).
+
+   - DEPRECATED pragma for marking obsolescent interfaces.
+
+   - In the wake of hslibs, a new package system for
+     libraries. -package should now be used instead of -syslib.
 
-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
+   - Result type signatures work.
 
-======================================================================
-How to get GHC 2.02:
+   - Many tiresome long-standing bugs and problems (e.g. the trace
+     problem) have been fixed.
 
-This release is available by anonymous FTP from the main Haskell
-archive sites, in the directory pub/haskell/glasgow:
+   - Many error messages have been made more helpful and/or
+     accurate.
 
-       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)
+For full details see the release notes:
 
-The Glasgow site is mirrored by src.doc.ic.ac.uk (146.169.43.1), in
-computing/programming/languages/haskell/glasgow.
+        http://www.haskell.org/ghc/docs/4.08/set/release-4-08.html
 
-These are the available files (.gz files are gzipped) -- some are `on
-demand', ask if you don't see them:
++ Mailing lists
+================
 
-README.html             A WWW `front-end' to the contents of the glasgow
-                       directory.
+We run mailing lists for GHC users and bug reports; to subscribe, send
+mail to majordomo@haskell.org; the msg body should be:
+
+    subscribe glasgow-haskell-{users,bugs} Your Name <you@where.soever>
+
+or
+
+    subscribe cvs-ghc Your Name <you@where.soever>
+
+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.
+
++ On-line GHC-related resources
+================================
 
-ghc-2.02-src.tar.gz    The source distribution; about 3MB.
+Relevant URLs on the World-Wide Web:
+
+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
 
-ghc-2.02.ANNOUNCE      This file.
++ How to get it
+================
 
-ghc-2.02.{README,RELEASE-NOTES} From the distribution; for those who
-                       want to peek before FTPing...
+The easy way is to go to the WWW page, which should be
+self-explanatory:
 
-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/
 
-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).
+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)!
 
-       <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 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:
 
-       <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,freebsd,netbsd,cygwin32,mingw32}
+  * sparc-sun-solaris2
+  * hppa1.1-hp-hpux{9,10}
 
-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 (for a
+wunderhacker), 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.
+  * i386-unknown-solaris2
+  * alpha-dec-osf{2,3}
+  * 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 builder's guide included in distribution gives a complete
+run-down of what ports work; an on-line version can be found at
 
+   http://www.haskell.org/ghc/docs/4.08/building/building-guide.html