</Para>
<Sect1 id="mkdependHS">
-<Title>Makefile dependencies in Haskell: using <Literal>mkdependHS</Literal>
+<Title>Makefile dependencies in Haskell: using <Command>mkdependHS</Command>
</Title>
<Para>
</Para>
<Para>
-You run <Literal>mkdependHS</Literal> like this:
+You run <Command>mkdependHS</Command> like this:
<Screen>
mkdependHS [mkdependHS options] [-- GHC options --] srcfile1 [srcfile2 ...]
ghc -M [mkdependHS options(prefix with -optdep)] [ GHC options ] srcfile1 [srcfile2 ...]
</Screen>
-To see <Literal>mkdependHS</Literal>'s command-line flags, give it a duff flag,
-e.g., <Literal>mkdependHS -help</Literal>.
+To see <Command>mkdependHS</Command>'s command-line flags, give it a duff flag,
+e.g., <Command>mkdependHS -help</Command>.
</Para>
<Para>
import B ...blah...
</ProgramListing>
-then <Literal>mkdependHS</Literal> will generate a dependency line of the form:
+then <Command>mkdependHS</Command> will generate a dependency line of the form:
<ProgramListing>
A.o : B.hi
import {-# SOURCE #-} B ...blah...
</ProgramListing>
-then <Literal>mkdependHS</Literal> will generate a dependency line of the form:
+then <Command>mkdependHS</Command> will generate a dependency line of the form:
<ProgramListing>
A.o : B.hi-boot
</ProgramListing>
(See <XRef LinkEnd="hi-files"> for details of interface files.)
-If <Literal>A</Literal> imports multiple modules, then there will be multiple lines with <Literal>A.o</Literal> as the
+If <Literal>A</Literal> imports multiple modules, then there will be multiple lines with <Filename>A.o</Filename> as the
target.
</Para>
<Para>
-By default, <Literal>mkdependHS</Literal> generates all the dependencies, and then
+By default, <Command>mkdependHS</Command> generates all the dependencies, and then
concatenates them onto the end of
-<Literal>makefile</Literal> (or <Literal>Makefile</Literal> if <Literal>makefile</Literal> doesn't exist) bracketed by
+<Filename>makefile</Filename> (or <Filename>Makefile</Filename> if <Filename>makefile</Filename> doesn't exist) bracketed by
the lines "<Literal># DO NOT DELETE: Beginning of Haskell dependencies</Literal>" and
"<Literal># DO NOT DELETE: End of Haskell dependencies</Literal>". If these lines
-already exist in the <Literal>makefile</Literal>, <Literal>mkdependHS</Literal> deletes the old
+already exist in the <Filename>makefile</Filename>, <Command>mkdependHS</Command> deletes the old
dependencies first.
</Para>
<Para>
-<Literal>mkdependHS</Literal> takes GHC options between <Literal>--</Literal> brackets.
+<Command>mkdependHS</Command> takes GHC options between <Literal>--</Literal> brackets.
It understands the following ones. Any options between <Literal>--</Literal> brackets
that it doesn't understand are simply ignored; this way you can feed your
-Makefile's standard GHC options to <Literal>mkdependHS</Literal> un-filtered.
+Makefile's standard GHC options to <Command>mkdependHS</Command> un-filtered.
<VariableList>
<VarListEntry>
-<Term><Literal>-cpp</Literal></Term>
+<Term><Option>-cpp</Option></Term>
<ListItem>
<Para>
Run the C pre-processor over the input files. The
</ListItem>
</VarListEntry>
<VarListEntry>
-<Term><Literal>-D<blah></Literal></Term>
+<Term><Option>-D<blah></Option></Term>
<ListItem>
<Para>
-A cpp <Literal>#define</Literal>; usual meaning.
+A cpp <Option>#define</Option>; usual meaning.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
-<Term><Literal>-i<dirs></Literal></Term>
+<Term><Option>-i<dirs></Option></Term>
<ListItem>
<Para>
-Add <Literal><dirs></Literal> (colon-separated) to list of directories
+Add <Filename><dirs></Filename> (colon-separated) to list of directories
to search for "import"ed modules.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
-<Term><Literal>-I<dir></Literal></Term>
+<Term><Option>-I<dir></Option></Term>
<ListItem>
<Para>
-Add <Literal><dir></Literal> to list of directories to search for
+Add <Filename><dir></Filename> to list of directories to search for
.h files (i.e., usual meaning).
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
-<Term><Literal>-syslib <blah></Literal></Term>
+<Term><Option>-syslib <blah></Option></Term>
<ListItem>
<Para>
This program uses this GHC system library; take
</Para>
<Para>
-Here are the <Literal>mkdependHS</Literal>-specific options (not between <Literal>--</Literal>'s):
+Here are the <Command>mkdependHS</Command>-specific options (not between <Literal>--</Literal>'s):
<VariableList>
<VarListEntry>
-<Term><Literal>-v</Literal></Term>
+<Term><Option>-v</Option></Term>
<ListItem>
<Para>
Be verbose.
</ListItem>
</VarListEntry>
<VarListEntry>
-<Term><Literal>-v -v</Literal></Term>
+<Term><Option>-v -v</Option></Term>
<ListItem>
<Para>
Be very verbose.
</ListItem>
</VarListEntry>
<VarListEntry>
-<Term><Literal>-w</Literal></Term>
+<Term><Option>-w</Option></Term>
<ListItem>
<Para>
Turn off warnings about interface file shadowing.
</ListItem>
</VarListEntry>
<VarListEntry>
-<Term><Literal>-f blah</Literal></Term>
+<Term><Option>-f blah</Option></Term>
<ListItem>
<Para>
-Use <Literal>blah</Literal> as the makefile, rather than <Literal>makefile</Literal>
-or <Literal>Makefile</Literal>. If <Literal>blah</Literal> doesn't exist, <Literal>mkdependHS</Literal> creates it.
-We often use <Literal>-f .depend</Literal> to put the dependencies in <Literal>.depend</Literal> and
-then <Literal>include</Literal> the file <Literal>.depend</Literal> into <Literal>Makefilpe</Literal>.
+Use <Filename>blah</Filename> as the makefile, rather than <Filename>makefile</Filename>
+or <Filename>Makefile</Filename>. If <Filename>blah</Filename> doesn't exist, <Command>mkdependHS</Command> creates it.
+We often use <Option>-f .depend</Option> to put the dependencies in <Filename>.depend</Filename> and
+then <Command>include</Command> the file <Filename>.depend</Filename> into <Filename>Makefile</Filename>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
-<Term><Literal>-o <osuf></Literal></Term>
+<Term><Option>-o <osuf></Option></Term>
<ListItem>
<Para>
-Use <Literal>.<osuf></Literal> as the "target file" suffix ( default: <Literal>o</Literal>).
-Multiple <Literal>-o</Literal> flags are permitted (GHC2.05 onwards). Thus "<Literal>-o hc -o o</Literal>"
-will generate dependencies for <Literal>.hc</Literal> and <Literal>.o</Literal> files.
+Use <Filename>.<osuf></Filename> as the "target file" suffix ( default: <Literal>o</Literal>).
+Multiple <Option>-o</Option> flags are permitted (GHC2.05 onwards). Thus "<Option>-o hc -o o</Option>"
+will generate dependencies for <Filename>.hc</Filename> and <Filename>.o</Filename> files.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
-<Term><Literal>-s <suf></Literal></Term>
+<Term><Option>-s <suf></Option></Term>
<ListItem>
<Para>
Make extra dependencies that declare that files with
-suffix <Literal>.<suf>_<osuf></Literal> depend on interface files with suffix <Literal>.<suf>_hi</Literal>, or
-(for <Literal>{-# SOURCE #-}</Literal> imports) on <Literal>.hi-boot</Literal>.
-Multiple <Literal>-s</Literal> flags are permitted.
-For example, "<Literal>-o hc -s a -s b</Literal>" will
-make dependencies for <Literal>.hc</Literal> on <Literal>.hi</Literal>, <Literal>.a_hc</Literal> on <Literal>.a_hi</Literal>, and <Literal>.b_hc</Literal> on <Literal>.b_hi</Literal>.
+suffix <Filename>.<suf>_<osuf></Filename> depend on interface files with suffix <Filename>.<suf>_hi</Filename>, or
+(for <Literal>{-# SOURCE #-}</Literal> imports) on <Filename>.hi-boot</Filename>.
+Multiple <Option>-s</Option> flags are permitted.
+For example, <Option>-o hc -s a -s b</Option> will
+make dependencies for <Filename>.hc</Filename> on <Filename>.hi</Filename>, <Filename>.a_hc</Filename> on <Filename>.a_hi</Filename>, and <Filename>.b_hc</Filename> on <Filename>.b_hi</Filename>.
(Useful in conjunction with NoFib "ways".)
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
-<Term><Literal>--exclude-module=<file></Literal></Term>
+<Term><Option>--exclude-module=<file></Option></Term>
<ListItem>
<Para>
-Regard <Literal><file></Literal> as "stable"; i.e., exclude it from having
+Regard <Filename><file></Filename> as "stable"; i.e., exclude it from having
dependencies on it.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
-<Term><Literal>-x</Literal></Term>
+<Term><Option>-x</Option></Term>
<ListItem>
<Para>
-same as <Literal>--exclude-module</Literal>
+same as <Option>--exclude-module</Option>
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
-<Term><Literal>--exclude-directory=<dirs></Literal></Term>
+<Term><Option>--exclude-directory=<dirs></Option></Term>
<ListItem>
<Para>
-Regard the colon-separated list of directories <Literal><dirs></Literal> as containing stable,
+Regard the colon-separated list of directories <Filename><dirs></Filename> as containing stable,
don't generate any dependencies on modules therein.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
-<Term><Literal>-Xdirs</Literal></Term>
+<Term><Option>-Xdirs</Option></Term>
<ListItem>
<Para>
-same as <Literal>--exclude-directory</Literal>.
+same as <Option>--exclude-directory</Option>.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
-<Term><Literal>--include-module=<file></Literal></Term>
+<Term><Option>--include-module=<file></Option></Term>
<ListItem>
<Para>
-Regard <Literal><file></Literal> as not "stable"; i.e., generate dependencies
+Regard <Filename><file></Filename> as not "stable"; i.e., generate dependencies
on it (if any). This option is normally used in conjunction
-with the <Literal>--exclude-directory</Literal> option.
+with the <Option>--exclude-directory</Option> option.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
-<Term><Literal>--include-prelude</Literal></Term>
+<Term><Option>--include-prelude</Option></Term>
<ListItem>
<Para>
Regard prelude libraries as unstable, i.e., generate dependencies
on the prelude modules used (including <Literal>Prelude</Literal>).
This option is normally only used by the various system libraries. If
-a <Literal>-syslib</Literal> option is used, dependencies will also be
+a <Option>-syslib</Option> option is used, dependencies will also be
generated on the library's interfaces.
</Para>
</ListItem>
</Sect1>
<Sect1 id="hstags">
-<Title>Emacs `TAGS' for Haskell: <Literal>hstags</Literal>
+<Title>Emacs `TAGS' for Haskell: <Command>hstags</Command>
</Title>
<Para>
</Para>
<Para>
-Rather than scratch your head, saying ``Now where did we define
-`foo'?'', you just do (in Emacs) <Literal>M-. foo RET</Literal>, and You're There!
+Rather than scratch your head, saying “Now where did we define
+`foo'?”, you just do (in Emacs) <Literal>M-. foo RET</Literal>, and You're There!
Some people go wild over this stuff…
</Para>
<Para>
-GHC comes with a program <Literal>hstags</Literal>, which build Emacs-able TAGS files. The invocation syntax is:
+GHC comes with a program <Command>hstags</Command>, which build Emacs-able TAGS files. The invocation syntax is:
<Screen>
hstags [GHC-options] file [files...]
</Para>
<Para>
-The only flags of its own are: <Literal>-v</Literal> to be verbose; <Literal>-a</Literal> to
-**APPEND** to the TAGS file, rather than write to it.
+The only flags of its own are: <Option>-v</Option> to be verbose; <Option>-a</Option> to
+<Emphasis>APPEND</Emphasis> to the TAGS file, rather than write to it.
</Para>
<Para>
</Para>
<Para>
-(Actually, GHC also comes with <Literal>etags</Literal> [for C], and <Literal>perltags</Literal>
+(Actually, GHC also comes with <Command>etags</Command> [for C], and <Command>perltags</Command>
[for You Know What]. And—I cannot tell a lie—there is Denis
-Howe's <Literal>fptags</Literal> [for Haskell, etc.] in the <Literal>ghc/CONTRIB</Literal>
+Howe's <Command>fptags</Command> [for Haskell, etc.] in the <Filename>ghc/CONTRIB</Filename>
section…)
</Para>
</Sect1>
<Sect1 id="happy">
-<Title>``Yacc for Haskell'': <Literal>happy</Literal>
+<Title>“Yacc for Haskell”: <Command>happy</Command>
</Title>
<Para>
<IndexTerm><Primary>Yacc for Haskell</Primary></IndexTerm>
<IndexTerm><Primary>parser generator for Haskell</Primary></IndexTerm>
Andy Gill and Simon Marlow have written a parser-generator for
-Haskell, called <Literal>happy</Literal>.<IndexTerm><Primary>happy parser generator</Primary></IndexTerm> <Literal>Happy</Literal>
-is to Haskell what <Literal>Yacc</Literal> is to C.
+Haskell, called <Command>happy</Command>.<IndexTerm><Primary>happy parser generator</Primary></IndexTerm> <Command>Happy</Command>
+is to Haskell what <Command>Yacc</Command> is to C.
</Para>
<Para>
-You can get <Literal>happy</Literal> by FTP from <Literal>ftp.dcs.gla.ac.uk</Literal> in
-<Literal>pub/haskell/happy</Literal>, the file <Literal>happy-1.5-src.tar.gz</Literal>.
+You can get <Command>happy</Command> by FTP from <Literal>ftp.dcs.gla.ac.uk</Literal> in
+<Filename>pub/haskell/happy</Filename>, the file <Filename>happy-1.5-src.tar.gz</Filename>.
</Para>
<Para>
-<Literal>Happy</Literal> is at its shining best when compiled by GHC.
+<Command>Happy</Command> is at its shining best when compiled by GHC.
</Para>
</Sect1>
<Sect1 id="pphs">
-<Title>Pretty-printing Haskell: <Literal>pphs</Literal>
+<Title>Pretty-printing Haskell: <Command>pphs</Command>
</Title>
<Para>
<Para>
Andrew Preece has written
-<Literal>pphs</Literal>,<IndexTerm><Primary>pphs</Primary></IndexTerm><IndexTerm><Primary>pretty-printing Haskell</Primary></IndexTerm>
+<Command>pphs</Command>,<IndexTerm><Primary>pphs</Primary></IndexTerm><IndexTerm><Primary>pretty-printing Haskell</Primary></IndexTerm>
a utility to pretty-print Haskell code in LaTeX documents.
Keywords in bolds, variables in italics—that sort of thing. It is
good at lining up program clauses and equals signs, things that are
</Para>
<Para>
-The code is distributed with GHC in <Literal>ghc/CONTRIB/pphs</Literal>.
+The code is distributed with GHC in <Filename>ghc/CONTRIB/pphs</Filename>.
</Para>
</Sect1>