[project @ 1996-01-08 20:28:12 by partain]
[ghc-hetmet.git] / ghc / CONTRIB / pphs / docs / Statement_Of_Requirements.tex
1 \section{Statement of requirements}
2
3 There are various things that are required of the solution to the
4 problem described previously.
5 \begin{itemize}
6 \item The program must take a file with a Haskell program in it and produce
7 \LaTeX\ code to stdout.  This code must produce that Haskell program in
8 typeset style when run through
9 the \LaTeX\ program.  The result as typeset must be recognisable as having the same
10 layout as the input file's Haskell program had.
11
12 \item The input file will contain only Haskell code.  Any documentation in the file
13 will be in the form of comments.
14
15 \item The input file will not have any embedded typesetting characters in it so
16 the program must analyse the input and decide for itself what needs to be 
17 done to produce the correct \LaTeX\ code.
18
19 \item The \LaTeX\ code produced must be easy to incorporate into a \LaTeX\
20 document such as a paper or book.  Thus the produced code must be able 
21 to be incorporated into documents of different page and font size.
22
23 \item Keywords and identifiers must be highlightable so as to distinguish
24 them from the rest of the Haskell program.
25 The user should be allowed some choice in the typeface used for
26 highlighting.
27
28 \item Generality of use must be retained so as to allow the program to be used in conjunction
29 with a file of any name and thus not use an inflexible built-in filename.
30
31 \item The program must be in keeping with conventional UNIX style.
32 \end{itemize}