
This is the Haskell 98 library report, source distribution.  

This has all files needed to generate either the postscript or the
html version of the Haskell library report.  Some of these files are
generated from others - these are marked with a (*) and are included in
case the tool used to generate the file is unavailable.

To generate the postscript library report you need lex, perl, latex,
makeindex, and dvips.

To generate the html library report you need Hugs 1.4 (probably any Haskell
1.4 compiler will do).

To chage the date on the report, you must change:
	* library.verb (line 415-ish)
	* index.html (line 8-ish)
	* html.config (~foot item)
	

Source files: 
  library.verb  -- Top level of the library report
  introduction.verb
  ratio.verb
  complex.verb
  numeric.verb
  ix.verb
  array.verb
  list.verb
  maybe.verb
  char.verb
  monad.verb
  io.verb
  directory.verb
  system.verb
  time.verb
  locale.verb
  cputime.verb
  random.verb
  index-intro.verb

Haskell files:
code/*.hs         -- executable versions of most libraries (IO incomplete),
                  -- CPUTime, Random, Directory not included
headers/*.hs      -- Lists all exported names from each library

Tex generated files:
  library.dvi (*) -- to make a .ps from
  library.idx (*)
  library.ind (*
  library.aux (*) -- The aux file generated by latex; used by html translator

Html support:

tex.hs             -- Program to generate html from verb / hs
html.config        -- configuration file for tex.hs.
index.html         -- Html top level
title.gif          -- title graphic 

Other files:

Makefile         -- Lots of extra cruft no longer used. 
verbatim.lex     -- lex program to expand .verb into .tex
splitAndIndexPgm -- perl script to convert .hs to .verb
splitAndIndexPgm.kh -- an old perl script to convert .hs to .verb
library.dvi (*)  -- in case you just want to run dvips
library.ind (*)  -- is case you don't have makeindex 
library.idx (*)  -- makes building easier


To build the .dvi you need to patch the makefile to call the proper
version of perl.  You will have some `non-grokked' instances in the
perl.  Remember that you have to run latex twice.  If anyone converts
the perl program to perl5 please send it to us!  Also, the indexing misses
a few definitions.

Report any problems to peterson-john@cs.yale.edu

Building the HTML files
~~~~~~~~~~~~~~~~~~~~~~~
Build the html by creating a `html' subdirectory, copy the .html and
.gif files to it, and run tex.hs twice (like tex - to get forward refs
right).  

Build the html by creating a `html' subdirectory, copy the .html and
.gif files to it, and run tex.hs twice (like tex - to get forward refs
right).  Run index.hs to generate the function index.  You're done.
The 'make html' does most of this.

There is one file you need to work on:

	report/html.config

Edit the title in the headers and footers. 
You can hack in whatever html you want for page headers and
footers .  You can also hack on the output directory setting (htmldir)
to direct the output wherever you want.  You'll have to fiddle
"index.hs" if you do this, though.  You can also add the line

	style = microsoftsymbols,article

This exploits the symbol font that microsoft uses in its browser.
Much nicer for some of the equations.  Probably a good idea since most
browsers handle the symbol font OK nowadays.

As to the building process:

To build the html library report: (using the .aux file and all the .verb files) 

cd <library directory>
runhugs tex.hs
runhugs tex.hs

Like latex, you have to run tex.hs twice.  Unless you make massive
changes, though, you can probably just do it once.  I'm sure ghc will
compile tex.hs if you want to speed things up. 

Note there is no index.hs here.



