[project @ 1996-01-08 20:28:12 by partain]
[ghc-hetmet.git] / ghc / docs / add_to_compiler / paper.verb
1 \documentstyle[11pt,../grasp,code]{article}
2 %\documentstyle[12pt,springer-wcs,oldfontnames,code]{article}
3 \setlength{\marginparwidth}{1.5cm}
4 \setlength{\parskip}{0.25cm}
5 \setlength{\parindent}{0cm}
6 \renewcommand{\textfraction}{0.2}
7 \renewcommand{\floatpagefraction}{0.7}
8 %
9 \newcommand{\freevars}[1]{fvs(#1)}
10 %
11 % to avoid src-location marginpars, comment in/out the out/in defns.
12 %\newcommand{\srcloc}[1]{}
13 %\newcommand{\onlyIfSrcLocs}[1]{}
14 %
15 \newcommand{\onlyIfSrcLocs}[1]{#1}
16 %
17 \begin{document}
18 \title{How to Add an Optimisation Pass\\
19 to the Glasgow Haskell compiler\\
20 (two months before version~0.23)}
21 \author{Will Partain, acting as AQUA Project scribe\\
22 e-mail contact: partain@@dcs.glasgow.ac.uk}
23 \renewcommand{\today}{October, 1994}
24 \maketitle
25 % temporarily....
26 \tableofcontents
27 %\clearpage
28 \begin{abstract}
29 A major purpose of the new Glasgow Haskell compiler (written in
30 Haskell) is to be freely available in source form so that others can
31 use it as ``root stock'' onto which they may graft their own wonderful
32 bits.  This document is a field guide for the aspiring
33 better-compiler grower, particularly one who wishes to add an
34 optimisation pass.
35 \end{abstract}
36
37 \onlyIfSrcLocs{Throughout this paper, pointers to the relevant
38 source-code are given in the margins.  This code is in the {\tt
39 ghc/compiler/} part of the distribution; names ending in {\tt /} are
40 directories.  We assume you already know Haskell.}
41
42 % \input{state-of-play}
43
44 \input{overview}
45
46 \input{front-end}
47 \input{back-end}
48
49 \input{core-syntax}
50
51 \input{howto-add}
52
53 %************************************************************************
54 %*                                                                      *
55 \section{For further information}
56 %*                                                                      *
57 %************************************************************************
58
59 Besides the documents listed in the References below, there are
60 several internal compiler documents that come with the GHC
61 distribution.\srcloc{ghc/docs/README}
62
63 If you are hacking GHC, you should be on the @glasgow-haskell-users@
64 mailing list.  Send mail to
65 @glasgow-haskell-users-request@@dcs.glasgow.ac.uk@ to subscribe.
66 You may wish to subscribe to our ``bugs channel'' (
67 @glasgow-haskell-bugs-request@@dcs.glasgow.ac.uk@) as well, if you
68 are a glutton for punishment.
69
70 Further suggestions as to how we can make your job easier will be most
71 appreciated.
72
73 \bibliographystyle{wpplain}   % wpplain, wplong, wpannote, ...
74 \bibliography{wp_abbrevs,comp}
75
76 %\printindex
77 \end{document}