I have dropped a snapshot of near-current Glasgow Haskell sources on
ftp.dcs.glasgow.ac.uk, in pub/haskell/glasgow/working/ (details
below).
The last "regular" version of GHC was 0.19 (December 1993). We still
recommend it for most purposes and people.
This version, 0.20, is strictly a "hacker's release". The attached
ghc/README file provides a few details.
The only reasons I can think of why you might want 0.20:
* You are so desperate for a little extra speed in your compiled code
that you will try anything.
* You are desperate for marginally improved portability. (This would
apply if you were trying to boot on a completely-unsupported host.)
* You want to hack on the I/O (perhaps for pre-1.3 testing). Note:
their are known grievous bugs in the 1.3-ish I/O.
* You love higher version numbers, no matter what.
If you boot from the C (.hc) files, I'd strongly recommend you `touch'
the .hc files before building from them; thus:
% ./configure --with-boot=c
% ./STARTUP-ghc std
% ( cd ghc/includes ; make )
% ( cd ghc/lib; touch */*.hc )
% ( cd ghc/compiler; touch */*.hc )
If you grab the binary distribution, recall that the basic tricks are:
(1) edit the hardwired paths in the driver (.../ghc/driver/ghc) ,
notably the /local/grasp_tmp3/... lines, and (2) possibly re-"ranlib"
all the .a files. Run by invoking the driver.
Comments and contributions are most appreciated. Our addresses are
still glasgow-haskell-{bugs,request}@dcs.glasgow.ac.uk.
Will Partain
deputy backup typist, AQUA project
== relevant files in pub/haskell/glasgow/working ======================
ghc-0.20-src.tar.gz "Real" source, 2.8MB file.
ghc-0.20-src.tar.gz.?? Same; split into ~1MB chunks.
ghc-0.20-hc-files.tar.gz Intermediate C (.hc) files for
booting; 3.5MB file.
ghc-0.20-hc-files.tar.gz.?? Same; split into chunks.
ghc-0.20-bin-sun4.tar.gz Binary distribution for Sun4 running
SunOS 4.1.x. 5.5MB file.
ghc-0.20-bin-sun4.tar.gz.?? Same; split into chunks.
state-interface.dvi Documentation (mentioned below)
=== ghc-0.20/ghc/README ===============================================
This is version 0.20 of the Glorious Glasgow Haskell compilation
system (GHC).
Version 0.20 is an "internal" release, intended *ONLY* for the most
fanatical GHC hackers.
* Many things about it may be broken, though it does compile and run
most programs.
* I/O and ccall scheme re-done; any such low-level code probably needs
fixing; I/O attempts to follow 1.3 I/O proposal. All ccall
arguments and results are automagically "boxed".
* PrimOps fiddled; any code that uses them directly will probably need
attention.
* We've renamed some things, so as to move to a we-don't-steal-user-
name-space policy. Thus "tagCmp" has become "_tagCmp". Names starting
with underscores are now cool if -fglasgow-exts.
You might want to see our "state-interface" document if you mess
with all this low-level/non-standard stuff; I'll try to remember to
put a copy up for FTP.
* No promises about profiling.
* Documentation is untouched since 0.19.
Version 0.19 was the last public release. It has held up pretty well
and should be available wherever you got 0.20 from. I commend 0.19 to
all sane people.
Configuring 0.20 is a little different than 0.19:
% cd <very-top>
% ./configure --with-boot=c
% ./STARTUP-ghc std
% cd ghc; make
Things to note:
* It's wrong for jmake to tell you "0: unknown flag -traditional"; but
it is harmless.
* The 0.20 compiler seems more likely to run out of stack; use
-Rmax-stksize2m (or something) to increase; within the distribution,
probably something like...
% make EXTRA_HC_OPTS="-H20m -Rmax-stksize4m"
See the "configure" script if you want to know what other options are
-- there is no other documentation at this time!
Will Partain, AQUA project typist
[EMAIL PROTECTED]