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]

Reply via email to