[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 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:
 
-* 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.
 
-* 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.
 
-* 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
@@ -37,12 +37,11 @@ Current AQUA team (all @dcs.gla.ac.uk):
 
     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]
-    David N Turner     (dnt)       [hired hand, Linear Types]
 
 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]
+    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]
-    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:
 
-    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
 
-Dated: 96/07
+Dated: 97/03
 
 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}