[project @ 1997-03-24 04:39:03 by sof]
authorsof <unknown>
Mon, 24 Mar 1997 04:39:04 +0000 (04:39 +0000)
committersof <unknown>
Mon, 24 Mar 1997 04:39:04 +0000 (04:39 +0000)
Updated for 2.02

ghc/ANNOUNCE [new file with mode: 0644]
ghc/README
ghc/RELEASE [new file with mode: 0644]

diff --git a/ghc/ANNOUNCE b/ghc/ANNOUNCE
new file mode 100644 (file)
index 0000000..011c1c9
--- /dev/null
@@ -0,0 +1,183 @@
+         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)!
+
+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
+
+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:
+
+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:
+
+README.html             A WWW `front-end' to the contents of the glasgow
+                       directory.
+
+ghc-2.02-src.tar.gz    The source distribution; about 3MB.
+
+ghc-2.02.ANNOUNCE      This file.
+
+ghc-2.02.{README,RELEASE-NOTES} From the distribution; for those who
+                       want to peek before FTPing...
+
+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).
+
+       <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
+
+       <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.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.
+
+ghc-2.02-<bundle>-hc-files.tar.gz Further sets of .hc files, for
+                       building other "bundles", e.g., profiling.
+
+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.)
+
index 8dfc890..99d5b14 100644 (file)
@@ -1,32 +1,32 @@
-This is version 2.01 of the Glorious Glasgow Haskell compilation
-system (GHC).  GHC 2.01 is a compiler for Haskell 1.3.
+This is version 2.02 of the Glorious Glasgow Haskell compilation
+system (GHC).  GHC 2.02 is a compiler for Haskell 1.4.
 
 
-2.01 is a full GHC release; however, as the first release of the 1.3
-compiler, it is "test" quality; it very well may have serious bugs.
-The top-level file "ANNOUNCE-2.01" says more.
+2.02 is a full GHC release; however, as the first release of the 1.4
+compiler, it is "beta" quality; it is reliable, but it may very well
+have some bugs. The top-level file "ANNOUNCE-2.02" says more.
 
 Haskell is "the" standard lazy functional programming language.
 
 Haskell is "the" standard lazy functional programming language.
-Haskell 1.3 is the current version of the language, released in
+Haskell 1.4 is the current version of the language, released in
 May. 1996.  The language definition is on the Web at
 http://haskell.cs.yale.edu/haskell-report/haskell-report.html
 
 GHC documentation of interest:
 
 May. 1996.  The language definition is on the Web at
 http://haskell.cs.yale.edu/haskell-report/haskell-report.html
 
 GHC documentation of interest:
 
-* docs/install_guide/installing.{dvi,info,html}: How to configure,
-  build, and install the system.
+* docs/installing.{dvi,info,html}: How to configure, build, and
+  install the system.
 
   The document, as with many others, is in TeX-produced DVI format
   (.dvi suffix), or GNU Info format (.info); the latter is close to
   plain ASCII, if that's what you want.
 
 
   The document, as with many others, is in TeX-produced DVI format
   (.dvi suffix), or GNU Info format (.info); the latter is close to
   plain ASCII, if that's what you want.
 
-* docs/users_guide/user.{dvi,info,html}: How to use GHC; e.g., what
+* ghc/docs/users_guide/user.{dvi,info,html}: How to use GHC; e.g., what
   options are available, how to cope with common problems, how to use
   the profiling facilities, etc.
 
   options are available, how to cope with common problems, how to use
   the profiling facilities, etc.
 
-* docs/release_notes/release{dvi,info,html}: Release notes for this
-  release (and all previous releases).
+* ghc/docs/users_guide/release.{dvi,info,html}: Release notes for this
+  release (and earlier releases).
 
 
-* docs/README: About the other documentation in this release.
+* ghc/docs/README: About the other documentation in this release.
 
 We welcome your comments and suggestions about this software!  Please
 do not suffer or grumble in silence.  The "bug reports" section of the
 
 We welcome your comments and suggestions about this software!  Please
 do not suffer or grumble in silence.  The "bug reports" section of the
@@ -37,12 +37,11 @@ Current AQUA team (all @dcs.gla.ac.uk):
 
     Sigbjorn Finne     (sof)       [PhD student]
     Hans Wolfgang Loidl (hwloidl)   [PhD student]
 
     Sigbjorn Finne     (sof)       [PhD student]
     Hans Wolfgang Loidl (hwloidl)   [PhD student]
-    Simon Marlow       (simonm)    [PhD student]
-    Will Partain       (partain)   [hired hand, GRASP/AQUA]
+    Simon Marlow       (simonm)    [hired hand]
+    Thomas Nordin       (nordin)    [@cse.ogi.edu; Green Card Hero]
     Simon Peyton Jones (simonpj)   [our Fearless Leader]
     Patrick Sansom     (sansom)    [hired hand, Bidirectional Analyses]
     Phil Trinder       (trinder)   [hired hand, Parade]
     Simon Peyton Jones (simonpj)   [our Fearless Leader]
     Patrick Sansom     (sansom)    [hired hand, Bidirectional Analyses]
     Phil Trinder       (trinder)   [hired hand, Parade]
-    David N Turner     (dnt)       [hired hand, Linear Types]
 
 Past contributors and/or continuing advisors:
 
 
 Past contributors and/or continuing advisors:
 
@@ -52,22 +51,30 @@ Past contributors and/or continuing advisors:
     John Launchbury    (jl)        [AQUA; at OGI]
     Jim Mattson                (mattson)   [hired hand, AQUA; HP]
     Darren Moffat      (moffatd)   [slave, summer '95; at MoD]
     John Launchbury    (jl)        [AQUA; at OGI]
     Jim Mattson                (mattson)   [hired hand, AQUA; HP]
     Darren Moffat      (moffatd)   [slave, summer '95; at MoD]
+    Will Partain       (partain)   [GRASP/AQUA; touring with Johnny Cash]
     Bryan O'Sullivan   (bos)       [visiting slave, summer '94; at Sun]
     Alastair Reid      (areid)     [GHCI god, at Yale]
     Andr\'e Santos     (andre)     [PhD student; back in Brazil]
     Bryan O'Sullivan   (bos)       [visiting slave, summer '94; at Sun]
     Alastair Reid      (areid)     [GHCI god, at Yale]
     Andr\'e Santos     (andre)     [PhD student; back in Brazil]
-    Phil Wadler                (wadler)    [GRASP; at Lucent soon]
+    David N Turner     (dnt)       [Linear Types; at An-Teallach]
+    Phil Wadler                (wadler)    [GRASP; at Lucent]
 
 Cool people who've let us use their machines:
 
 
 Cool people who've let us use their machines:
 
-    hppa1.1-hp-hpux    Sam Nelson, Stirling University
-    powerpc-ibm-aix    Walter Robinson, Mechanical Eng'g, Glasgow U.
+    sparc-sun-sunos{4,5}   PacSoft, Oregon Graduate Institute
+    hppa1.1-hp-hpux,
+    i386-unknown-linux    Charles Krasic, Oregon Graduate Institute
+    alpha-dec-osf,        
+    i386-*-solaris2        Mark Fanty, CSLU, Oregon Graduate Institute
+
+Also thanks to Conal Elliott, Microsoft Research for facilitating the work
+on the Win32 port of GHC.
 
 Simon's projects' acronyms:
     GRIP  ('87-'90): Graph reduction in parallel
     GRASP ('90-'92): Graph reduction applications support project
     AQUA  ('93-   ): Declarative systems architecture: a quantitative approach
 
 
 Simon's projects' acronyms:
     GRIP  ('87-'90): Graph reduction in parallel
     GRASP ('90-'92): Graph reduction applications support project
     AQUA  ('93-   ): Declarative systems architecture: a quantitative approach
 
-Dated: 96/07
+Dated: 97/03
 
 GHC WWW page: http://www.dcs.gla.ac.uk/fp/software/ghc.html
 
 
 GHC WWW page: http://www.dcs.gla.ac.uk/fp/software/ghc.html
 
diff --git a/ghc/RELEASE b/ghc/RELEASE
new file mode 100644 (file)
index 0000000..3977e1f
--- /dev/null
@@ -0,0 +1,161 @@
+This is the pre-mangled text of the 2.02-specific part of the 
+GHC release notes.
+
+======================================================================
+Release~2.02 is the first release of Glasgow Haskell for Haskell~1.4.
+
+The announcement for this release is distributed as \tr{ANNOUNCE-2.02}
+in the top-level directory.  It contains very important caveats about
+2.02, which we do not repeat here!
+
+Information about ``what's ported to which machine'' is in the
+Installation Guide.  Since 2.01, we've added support for Win32
+(Windows NT and Windows 95).
+
+%************************************************************************
+%*                                                                      *
+\subsection[2-02-config]{New configuration things in 2.02}
+%*                                                                      *
+%************************************************************************
+
+%************************************************************************
+%*                                                                      *
+\subsection[2-02-user-visible]{User-visible changes in 2.02, including incompatibilities}
+%*                                                                      *
+%************************************************************************
+
+GHC~2.02 is a compiler for Haskell~1.4 and, as such, introduces a
+bunch of user-visible changes.  The GHC user's guide has a section to
+help you upgrade your programs to Haskell~1.4 from 1.2; all
+user-visible changes are described there (and not repeated here).
+
+%************************************************************************
+%*                                                                      *
+\subsection[2-02-options]{New or changed GHC command-line options}
+%*                                                                      *
+%************************************************************************
+
+\begin{itemize}
+\item GHC now warns of possibly-incomplete patterns in case expressions
+and function bindings.  You can suppress these warnings with @-fno-warn-incomplete-patterns@.
+
+GHC also warns of completely overlapped patterns.  You can't switch this off.
+
+\item GHC can warn of shadowed names, though it does not do so by default.  
+Just occasionally this shows up 
+an otherwise hard-to-find bug.  To warn of shadowed names use @-fwarn-name-shadowing@
+
+\item You can now generate `make' dependencies via the compiler
+driver, use the option @-M@ together with the list source files to compute
+the dependencies for. By default, the dependencies will be appended to
+the file \tr{Makefile} in the current directory.
+
+\item For hackers, the flag @-dshow-rn-trace@ shows what the renamer is up to.
+Sit back and marvel.
+
+\end{itemize}
+
+
+%************************************************************************
+%*                                                                      *
+\subsection[2-02-new-in-compiler]{New in the compiler proper}
+%*                                                                      *
+%************************************************************************
+
+\begin{itemize}
+\item
+Completely new ``make-world'' system, properly documented (at last) in the
+installation guide.  No Jmakefiles; but you *need* Gnu make
+(gmake). The more recent the better (v 3.70+).
+
+\item
+The ``renamer''---the part of the compiler that implements
+the Haskell module system---has been completely rewritten, again.
+
+The format of interface files has changed significantly.  Interface files
+generated by 2.01 will not work with 2.02.
+
+\item
+Even less special pleading for the Prelude than in 2.01.  If you wanted
+to write your own Prelude and drop it in, you would have
+a really good chance now.
+\end{itemize}
+
+
+%************************************************************************
+%*                                                                      *
+\subsection[2-02-new-in-libraries]{In the libraries}
+%*                                                                      *
+%************************************************************************
+
+The libraries have been completely reorganised.  There's a description in
+\sectionref{syslibs}.
+
+
+%************************************************************************
+%*                                                                      *
+\subsection[2-02-new-in-syslibs]{In ``hslibs'' libraries}
+%*                                                                      *
+%************************************************************************
+
+
+%************************************************************************
+%*                                                                      *
+\subsection[2-02-new-in-rts]{In the runtime system}
+%*                                                                      *
+%************************************************************************
+
+\begin{itemize}
+\item @ForeignObjs@ are properly deallocated when execution halts, as well
+as when the garbage collector spots the @ForeignObj@ as being unreferenced.
+This is important if you are using a @ForeignObj@ to refer to
+a @COM@ object or other remote resource. You want that resource to be relased
+when the program terminates.
+
+\item Files handles in the IO prelude are implemented using
+@ForeignObjs@, and closed when the file handle is unreferenced.  This
+means that if you open zillions of files then just letting go of the
+file handle is enough to close it. 
+\end{itemize}
+
+%************************************************************************
+%*                                                                      *
+\subsection[2-02-new-elsewhere]{Other new stuff}
+%*                                                                      *
+%************************************************************************
+
+2.02 is released together with Green Card, a foreign-language
+interface generator for Haskell. More details elsewhere...
+
+
+%************************************************************************
+%*                                                                      *
+\subsection[2-02-troublespots]{Known troublespots}
+%*                                                                      *
+%************************************************************************
+
+The 2.02 compiler has the following known deficiencies:
+
+\begin{description}
+\item[native code generator, x86:]
+
+The native code generator for x86 platforms is by default switched
+off, as the code the compiler produces with it enabled was discovered
+just before releaseing to be wonky. Rather than delay the release
+further, GHC on x86 platforms rely on \tr{GCC} as their
+backend for now. Hopefully fixed soon.
+
+\item[Simplifier looping:]
+
+The simplifier(Glasgow-speak for optimiser) has been observed to get
+into a loop in one or two cases. If you should observe this, please
+report it as a bug - the work around is to turn off optimisation.
+
+\item[Undefined @*_vap_info@ symbols:]
+
+If the linker complains about some undefined @*_vap_info@ symbols when
+linking 2.02 compiled programs (very unlikely) - fix this by compiling
+the module where the references are coming from with
+@-fno-lambda-lifting@.
+
+\end{description}