This is the Haskell 2010 report, source distribution. This has all files needed to generate either the postscript or the html version of the Haskell 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 report you need lex, perl, latex, makeindex, and dvips. To generate the html report you need Hugs 1.4 (probably any Haskell 1.4 compiler will do). To change the date on the report, you must change: * haskell.verb (line 429-ish) * index.html (line 8-ish) * html.config (~foot item) Source files for the report: plain-haskell.verb -- Top level of the report Sections of the report: intro.verb lexemes.verb exps.verb decls.verb modules.verb basic.verb io-13.verb standard-prelude.verb syntax-iso.verb literate.verb derived.verb pragmas.verb haskell.bib Extra .verb files: iso-chars.verb -- Some bogus definitions for ISO chars. Probably not -- needed since I removed them from the syntax. layout.verb -- a section on layout repeated in the appendix index-extra.verb -- extra stuff to get indexed (see also's) index-intro.verb -- header for index Haskell source files: Prelude.hs PreludeList.hs PreludeIO.hs PreludeText.hs Figures: classes.ppt -- The original class figure (Powerpoint) classes.eps (*) -- Postscript version of class-fig classes.gif (*) -- For html version cover.cdr -- A nice looking cover for the report cover.eps (*) Html support: html.config -- configuration file for tex.hs. haskell.aux (*) -- The aux file generated by latex; used by html translator haskell.bbl (*) -- used by html translator. Hand edited to add -- html headers at front. prelude-index.idx -- Html file containing index of prelude. #'s are -- expanded by index.hs index.html -- Top level of the html report (hand generated) lambda.gif -- background for title page title.gif -- title graphic Other files: Makefile -- Lots of extra cruft no longer used. haskell.dvi (*) -- in case you just want to run dvips haskell.ind (*) -- is case you don't have makeindex haskell.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! Report any problems to peterson-john@cs.yale.edu Building 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). Run index.hs to generate the function index. You're done. The 'make html' does most of this. There are three files 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. report/prelude-index.idx You will need to edit this a little bit; probably just a few renamings and deleting stuff that lives in the libraries now. Add a few more examples if you're feeling energetic. As to the building process: To build the html report: (using the .aux file and all the .verb files) cd runhugs tex.hs runhugs tex.hs runhugs index.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. Making figures ~~~~~~~~~~~~~~ The classes.eps files, which contains the classes hierarchy figure, is made in Powerpoint, from classses.ppt. To get the .eps file, do the following: * Open classes.ppt * Print.. * Check the print-to-file box, and save as classes.prn * Edit classes.prn Kill the .prn header and footer (before % PS-Adobe), and after %EOF Kill the entire setup code (from BeginSetup to EndSetup) Kill the showpage near the end * Save as classes.eps * Open with Ghostview * Note the coords of the bottom LH and top RH corner, as reported by Ghostview * Re-edit classes.eps, and put those coords in the %BoundingBox line You also need to do Save As.. in Powerpoint, and save the thing as classes.gif, for the HTML version