diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,8 @@
+Version 1.10
+-----------
+  * New command-line option: "--linepragma"
+    It converts #line droppings into {-# LINE #-}.
+
 Version 1.9
 -----------
   * Bugfix for #undef.
diff --git a/Language/Preprocessor/Cpphs/CppIfdef.hs b/Language/Preprocessor/Cpphs/CppIfdef.hs
--- a/Language/Preprocessor/Cpphs/CppIfdef.hs
+++ b/Language/Preprocessor/Cpphs/CppIfdef.hs
@@ -21,7 +21,7 @@
 import Language.Preprocessor.Cpphs.SymTab
 import Text.ParserCombinators.HuttonMeijer
 import Language.Preprocessor.Cpphs.Position  (Posn,newfile,newline,newlines
-                                             ,cppline,newpos)
+                                             ,cppline,cpp2hask,newpos)
 import Language.Preprocessor.Cpphs.ReadFirst (readFirst)
 import Language.Preprocessor.Cpphs.Tokenise  (linesCpp,reslash)
 import Language.Preprocessor.Cpphs.Options   (BoolOptions(..))
@@ -103,11 +103,15 @@
                     else skipn syms False Keep xs
 	"error"  -> error (l++"\nin "++show p)
 	"line"   | all isDigit sym
-	         -> (if locations options then ((p,l):) else id) $
+	         -> (if locations options && hashline options then ((p,l):)
+                     else if locations options then ((p,cpp2hask l):)
+                     else id) $
                     cpp (newpos (read sym) (un rest) p)
                         syms path options Keep xs
 	n | all isDigit n
-	         -> (if locations options then ((p,l):) else id) $
+	         -> (if locations options && hashline options then ((p,l):)
+                     else if locations options then ((p,cpp2hask l):)
+                     else id) $
 	            cpp (newpos (read n) (un (tail ws)) p)
                         syms path options Keep xs
           | otherwise
diff --git a/Language/Preprocessor/Cpphs/Options.hs b/Language/Preprocessor/Cpphs/Options.hs
--- a/Language/Preprocessor/Cpphs/Options.hs
+++ b/Language/Preprocessor/Cpphs/Options.hs
@@ -43,6 +43,7 @@
 data BoolOptions = BoolOptions
     { macros	:: Bool  -- ^ Leave \#define and \#undef in output of ifdef?
     , locations	:: Bool	 -- ^ Place #line droppings in output?
+    , hashline	:: Bool	 -- ^ Write #line or {-# LINE #-} ?
     , pragma	:: Bool  -- ^ Keep #pragma in final output?
     , stripEol	:: Bool  -- ^ Remove C eol (\/\/) comments everywhere?
     , stripC89	:: Bool  -- ^ Remove C inline (\/**\/) comments everywhere?
@@ -56,7 +57,7 @@
 -- | Default settings of boolean options.
 defaultBoolOptions :: BoolOptions
 defaultBoolOptions = BoolOptions { macros   = True,   locations = True
-                                 , pragma   = False
+                                 , hashline = True,   pragma    = False
                                  , stripEol = False,  stripC89  = False
                                  , lang     = True,   ansi      = False
                                  , layout   = False,  literate  = False
@@ -67,6 +68,7 @@
 data RawOption
     = NoMacro
     | NoLine
+    | LinePragma
     | Pragma
     | Text
     | Strip
@@ -83,6 +85,7 @@
 flags :: [(String, RawOption)]
 flags = [ ("--nomacro", NoMacro)
         , ("--noline",  NoLine)
+        , ("--linepragma", LinePragma)
         , ("--pragma",  Pragma)
         , ("--text",    Text)
         , ("--strip",   Strip)
@@ -114,6 +117,7 @@
   BoolOptions
     { macros	= not (NoMacro `elem` opts)
     , locations	= not (NoLine  `elem` opts)
+    , hashline	= not (LinePragma `elem` opts)
     , pragma	=      Pragma  `elem` opts
     , stripEol	=      StripEol`elem` opts
     , stripC89	=      StripEol`elem` opts || Strip `elem` opts
diff --git a/Language/Preprocessor/Cpphs/Position.hs b/Language/Preprocessor/Cpphs/Position.hs
--- a/Language/Preprocessor/Cpphs/Position.hs
+++ b/Language/Preprocessor/Cpphs/Position.hs
@@ -15,10 +15,12 @@
   ( Posn(..)
   , newfile
   , addcol, newline, tab, newlines, newpos
-  , cppline
+  , cppline, haskline, cpp2hask
   , filename, lineno, directory
   ) where
 
+import List (isPrefixOf)
+
 -- | Source positions contain a filename, line, column, and an
 --   inclusion point, which is itself another source position,
 --   recursively.
@@ -34,31 +36,38 @@
                                     Just p  -> showString "\n    used by  " .
                                                shows p )
 
--- | Constructor
+-- | Constructor.  Argument is filename.
 newfile :: String -> Posn
 newfile name = Pn name 1 1 Nothing
 
--- | Updates
+-- | Increment column number by given quantity.
 addcol :: Int -> Posn -> Posn
 addcol n (Pn f r c i) = Pn f r (c+n) i
 
-newline, tab :: Posn -> Posn
+-- | Increment row number, reset column to 1.
+newline :: Posn -> Posn
 --newline (Pn f r _ i) = Pn f (r+1) 1 i
 newline (Pn f r _ i) = let r' = r+1 in r' `seq` Pn f r' 1 i
+
+-- | Increment column number, tab stops are every 8 chars.
+tab     :: Posn -> Posn
 tab     (Pn f r c i) = Pn f r (((c`div`8)+1)*8) i
 
+-- | Increment row number by given quantity.
 newlines :: Int -> Posn -> Posn
 newlines n (Pn f r _ i) = Pn f (r+n) 1 i
 
+-- | Update position with a new row, and possible filename.
 newpos :: Int -> Maybe String -> Posn -> Posn
 newpos r Nothing  (Pn f _ c i) = Pn f r c i
 newpos r (Just ('"':f)) (Pn _ _ c i) = Pn (init f) r c i
 newpos r (Just f)       (Pn _ _ c i) = Pn f r c i
 
--- | Projections
-
+-- | Project the line number.
 lineno    :: Posn -> Int
+-- | Project the filename.
 filename  :: Posn -> String
+-- | Project the directory of the filename.
 directory :: Posn -> FilePath
 
 lineno    (Pn _ r _ _) = r
@@ -66,10 +75,19 @@
 directory (Pn f _ _ _) = dirname f
 
 
--- | cpp-style printing
+-- | cpp-style printing of file position
 cppline :: Posn -> String
 cppline (Pn f r _ _) = "#line "++show r++" "++show f
 
+-- | haskell-style printing of file position
+haskline :: Posn -> String
+haskline (Pn f r _ _) = "{-# LINE "++show r++" "++show f++" #-}"
+
+-- | Conversion from a cpp-style "#line" to haskell-style pragma.
+cpp2hask :: String -> String
+cpp2hask line | "#line" `isPrefixOf` line = "{-# LINE "
+                                            ++unwords (tail (words line))
+                                            ++" #-}"
                                                                                 
 -- | Strip non-directory suffix from file name (analogous to the shell
 --   command of the same name).
diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
 LIBRARY = cpphs
-VERSION = 1.9
+VERSION = 1.10
 
 DIRS	= Language/Preprocessor/Cpphs \
 	  Text/ParserCombinators
diff --git a/README b/README
--- a/README
+++ b/README
@@ -16,7 +16,8 @@
 	cpphs  [filename | -Dsym | -Dsym=val | -Ipath]+  [-Ofile]
                [ --include=file ]*
                [ --nomacro | --noline | --nowarn | --strip | --strip-eol |
-                 --pragma | --text | --hashes | --layout | --unlit ]*
+                 --pragma | --text | --hashes | --layout | --unlit |
+                 --linepragma ]*
                [ --cpp compatopts ]
 
 For fuller details, see docs/index.html
@@ -29,7 +30,7 @@
 
 COPYRIGHT
 ---------
-Copyright (c) 2004-2009 Malcolm Wallace (Malcolm.Wallace@cs.york.ac.uk)
+Copyright (c) 2004-2010 Malcolm Wallace (Malcolm.Wallace@cs.york.ac.uk)
 except for Text.ParserCombinators.HuttonMeijer (Copyright (c) 1995
 Graham Hutton and Erik Meijer).
 
diff --git a/cpphs.cabal b/cpphs.cabal
--- a/cpphs.cabal
+++ b/cpphs.cabal
@@ -1,6 +1,6 @@
 Name: cpphs
-Version: 1.9
-Copyright: 2004-2009, Malcolm Wallace
+Version: 1.10
+Copyright: 2004-2010, Malcolm Wallace
 Build-Depends: base < 6, haskell98
 License: LGPL
 License-File: LICENCE-LGPL
diff --git a/cpphs.hs b/cpphs.hs
--- a/cpphs.hs
+++ b/cpphs.hs
@@ -19,7 +19,7 @@
 import List   ( isPrefixOf )
 
 version :: String
-version = "1.9"
+version = "1.10"
 
 main :: IO ()
 main = do
@@ -32,10 +32,10 @@
            exitWith ExitSuccess)
   when ("--help" `elem` args)
        (do putStrLn ("Usage: "++prog
-              ++" [file ...] [ -Dsym | -Dsym=val | -Ipath ]*  [-Ofile]\n"
-              ++"\t\t[--nomacro] [--noline] [--pragma] [--text]\n"
-              ++"\t\t[--strip] [--strip-eol] [--hashes] [--layout] [--unlit]\n"
-              ++"\t\t[ --cpp std-cpp-options ] [--include=filename]")
+             ++" [file ...] [ -Dsym | -Dsym=val | -Ipath ]*  [-Ofile]\n"
+             ++"\t\t[--nomacro] [--noline] [--linepragma] [--pragma] [--text]\n"
+             ++"\t\t[--strip] [--strip-eol] [--hashes] [--layout] [--unlit]\n"
+             ++"\t\t[ --cpp std-cpp-options ] [--include=filename]")
            exitWith ExitSuccess)
 
   let parsedArgs = parseOptions args
diff --git a/docs/cpphs/Language-Preprocessor-Cpphs-CppIfdef.html b/docs/cpphs/Language-Preprocessor-Cpphs-CppIfdef.html
deleted file mode 100644
--- a/docs/cpphs/Language-Preprocessor-Cpphs-CppIfdef.html
+++ /dev/null
@@ -1,226 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->Language.Preprocessor.Cpphs.CppIfdef</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock.js" TYPE="text/javascript"
-></SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="Language/Preprocessor/Cpphs/CppIfdef.html"
->Source code</A
-></TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->Language.Preprocessor.Cpphs.CppIfdef</FONT
-></TD
-><TD ALIGN="right"
-><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="infohead"
->Portability</TD
-><TD CLASS="infoval"
->All</TD
-></TR
-><TR
-><TD CLASS="infohead"
->Stability</TD
-><TD CLASS="infoval"
->experimental</TD
-></TR
-><TR
-><TD CLASS="infohead"
->Maintainer</TD
-><TD CLASS="infoval"
->Malcolm Wallace &lt;Malcolm.Wallace@cs.york.ac.uk&gt;</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
->Perform a cpp.first-pass, gathering #define's and evaluating #ifdef's.
- and #include's.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AcppIfdef"
->cppIfdef</A
-> :: FilePath -&gt; [(String, String)] -&gt; [String] -&gt; <A HREF="Language-Preprocessor-Cpphs-Options.html#t%3ABoolOptions"
->BoolOptions</A
-> -&gt; String -&gt; [(<A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
->, String)]</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AcppIfdef"
-></A
-><B
->cppIfdef</B
-></TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/CppIfdef.html#cppIfdef"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
->:: FilePath</TD
-><TD CLASS="rdoc"
->File for error reports
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; [(String, String)]</TD
-><TD CLASS="rdoc"
->Pre-defined symbols and their values
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; [String]</TD
-><TD CLASS="rdoc"
->Search path for #includes
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; <A HREF="Language-Preprocessor-Cpphs-Options.html#t%3ABoolOptions"
->BoolOptions</A
-></TD
-><TD CLASS="rdoc"
->Options controlling output style
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; String</TD
-><TD CLASS="rdoc"
->The input file content
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; [(<A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
->, String)]</TD
-><TD CLASS="rdoc"
->The file after processing (in lines)
-</TD
-></TR
-><TR
-><TD CLASS="ndoc" COLSPAN="2"
->Run a first pass of cpp, evaluating #ifdef's and processing #include's,
-   whilst taking account of #define's and #undef's as we encounter them.
-</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 0.8</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/Language-Preprocessor-Cpphs-HashDefine.html b/docs/cpphs/Language-Preprocessor-Cpphs-HashDefine.html
deleted file mode 100644
--- a/docs/cpphs/Language-Preprocessor-Cpphs-HashDefine.html
+++ /dev/null
@@ -1,691 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->Language.Preprocessor.Cpphs.HashDefine</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock.js" TYPE="text/javascript"
-></SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="Language/Preprocessor/Cpphs/HashDefine.html"
->Source code</A
-></TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->Language.Preprocessor.Cpphs.HashDefine</FONT
-></TD
-><TD ALIGN="right"
-><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="infohead"
->Portability</TD
-><TD CLASS="infoval"
->All</TD
-></TR
-><TR
-><TD CLASS="infohead"
->Stability</TD
-><TD CLASS="infoval"
->experimental</TD
-></TR
-><TR
-><TD CLASS="infohead"
->Maintainer</TD
-><TD CLASS="infoval"
->Malcolm Wallace &lt;Malcolm.Wallace@cs.york.ac.uk&gt;</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
->What structures are declared in a #define.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="#t%3AHashDefine"
->HashDefine</A
-> </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
->= <A HREF="#v%3ALineDrop"
->LineDrop</A
-> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Aname"
->name</A
-> :: String</TD
-></TR
-></TABLE
->}</TD
-></TR
-><TR
-><TD CLASS="decl"
->| <A HREF="#v%3APragma"
->Pragma</A
-> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Aname"
->name</A
-> :: String</TD
-></TR
-></TABLE
->}</TD
-></TR
-><TR
-><TD CLASS="decl"
->| <A HREF="#v%3ASymbolReplacement"
->SymbolReplacement</A
-> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Aname"
->name</A
-> :: String</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Areplacement"
->replacement</A
-> :: String</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Alinebreaks"
->linebreaks</A
-> :: Int</TD
-></TR
-></TABLE
->}</TD
-></TR
-><TR
-><TD CLASS="decl"
->| <A HREF="#v%3AMacroExpansion"
->MacroExpansion</A
-> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Aname"
->name</A
-> :: String</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Aarguments"
->arguments</A
-> :: [String]</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Aexpansion"
->expansion</A
-> :: [(<A HREF="Language-Preprocessor-Cpphs-HashDefine.html#t%3AArgOrText"
->ArgOrText</A
->, String)]</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Alinebreaks"
->linebreaks</A
-> :: Int</TD
-></TR
-></TABLE
->}</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="#t%3AArgOrText"
->ArgOrText</A
-> </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
->= <A HREF="#v%3AArg"
->Arg</A
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->| <A HREF="#v%3AText"
->Text</A
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->| <A HREF="#v%3AStr"
->Str</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AexpandMacro"
->expandMacro</A
-> :: <A HREF="Language-Preprocessor-Cpphs-HashDefine.html#t%3AHashDefine"
->HashDefine</A
-> -&gt; [String] -&gt; Bool -&gt; String</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AparseHashDefine"
->parseHashDefine</A
-> :: Bool -&gt; [String] -&gt; Maybe <A HREF="Language-Preprocessor-Cpphs-HashDefine.html#t%3AHashDefine"
->HashDefine</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t%3AHashDefine"
-></A
-><B
->HashDefine</B
-> </TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/HashDefine.html#HashDefine"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v%3ALineDrop"
-></A
-><B
->LineDrop</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="body" COLSPAN="2"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Aname"
-></A
-><B
->name</B
-> :: String</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3APragma"
-></A
-><B
->Pragma</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="body" COLSPAN="2"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Aname"
-></A
-><B
->name</B
-> :: String</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3ASymbolReplacement"
-></A
-><B
->SymbolReplacement</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="body" COLSPAN="2"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Aname"
-></A
-><B
->name</B
-> :: String</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Areplacement"
-></A
-><B
->replacement</B
-> :: String</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Alinebreaks"
-></A
-><B
->linebreaks</B
-> :: Int</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3AMacroExpansion"
-></A
-><B
->MacroExpansion</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="body" COLSPAN="2"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Aname"
-></A
-><B
->name</B
-> :: String</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Aarguments"
-></A
-><B
->arguments</B
-> :: [String]</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Aexpansion"
-></A
-><B
->expansion</B
-> :: [(<A HREF="Language-Preprocessor-Cpphs-HashDefine.html#t%3AArgOrText"
->ArgOrText</A
->, String)]</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Alinebreaks"
-></A
-><B
->linebreaks</B
-> :: Int</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section4"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:HashDefine')" ALT="show/hide"
-> Instances</TD
-></TR
-><TR
-><TD CLASS="body"
-><DIV ID="i:HashDefine" STYLE="display:block;"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
->Eq <A HREF="Language-Preprocessor-Cpphs-HashDefine.html#t%3AHashDefine"
->HashDefine</A
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->Show <A HREF="Language-Preprocessor-Cpphs-HashDefine.html#t%3AHashDefine"
->HashDefine</A
-></TD
-></TR
-></TABLE
-></DIV
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t%3AArgOrText"
-></A
-><B
->ArgOrText</B
-> </TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/HashDefine.html#ArgOrText"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->Macro expansion text is divided into sections, each of which is classified
-   as one of three kinds: a formal argument (Arg), plain text (Text),
-   or a stringised formal argument (Str).
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v%3AArg"
-></A
-><B
->Arg</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3AText"
-></A
-><B
->Text</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3AStr"
-></A
-><B
->Str</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section4"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ArgOrText')" ALT="show/hide"
-> Instances</TD
-></TR
-><TR
-><TD CLASS="body"
-><DIV ID="i:ArgOrText" STYLE="display:block;"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
->Eq <A HREF="Language-Preprocessor-Cpphs-HashDefine.html#t%3AArgOrText"
->ArgOrText</A
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->Show <A HREF="Language-Preprocessor-Cpphs-HashDefine.html#t%3AArgOrText"
->ArgOrText</A
-></TD
-></TR
-></TABLE
-></DIV
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AexpandMacro"
-></A
-><B
->expandMacro</B
-> :: <A HREF="Language-Preprocessor-Cpphs-HashDefine.html#t%3AHashDefine"
->HashDefine</A
-> -&gt; [String] -&gt; Bool -&gt; String</TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/HashDefine.html#expandMacro"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Expand an instance of a macro.
-   Precondition: got a match on the macro name.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AparseHashDefine"
-></A
-><B
->parseHashDefine</B
-> :: Bool -&gt; [String] -&gt; Maybe <A HREF="Language-Preprocessor-Cpphs-HashDefine.html#t%3AHashDefine"
->HashDefine</A
-></TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/HashDefine.html#parseHashDefine"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Parse a #define, or #undef, ignoring other # directives
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 0.8</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/Language-Preprocessor-Cpphs-MacroPass.html b/docs/cpphs/Language-Preprocessor-Cpphs-MacroPass.html
deleted file mode 100644
--- a/docs/cpphs/Language-Preprocessor-Cpphs-MacroPass.html
+++ /dev/null
@@ -1,315 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->Language.Preprocessor.Cpphs.MacroPass</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock.js" TYPE="text/javascript"
-></SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="Language/Preprocessor/Cpphs/MacroPass.html"
->Source code</A
-></TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->Language.Preprocessor.Cpphs.MacroPass</FONT
-></TD
-><TD ALIGN="right"
-><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="infohead"
->Portability</TD
-><TD CLASS="infoval"
->All</TD
-></TR
-><TR
-><TD CLASS="infohead"
->Stability</TD
-><TD CLASS="infoval"
->experimental</TD
-></TR
-><TR
-><TD CLASS="infohead"
->Maintainer</TD
-><TD CLASS="infoval"
->Malcolm Wallace &lt;Malcolm.Wallace@cs.york.ac.uk&gt;</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
->Perform a cpp.second-pass, accumulating #define's and #undef's,
- whilst doing symbol replacement and macro expansion.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmacroPass"
->macroPass</A
-> :: [(String, String)] -&gt; <A HREF="Language-Preprocessor-Cpphs-Options.html#t%3ABoolOptions"
->BoolOptions</A
-> -&gt; [(<A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
->, String)] -&gt; String</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3ApreDefine"
->preDefine</A
-> :: <A HREF="Language-Preprocessor-Cpphs-Options.html#t%3ABoolOptions"
->BoolOptions</A
-> -&gt; [(String, String)] -&gt; <A HREF="Language-Preprocessor-Cpphs-SymTab.html#t%3ASymTab"
->SymTab</A
-> <A HREF="Language-Preprocessor-Cpphs-HashDefine.html#t%3AHashDefine"
->HashDefine</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AdefineMacro"
->defineMacro</A
-> :: <A HREF="Language-Preprocessor-Cpphs-Options.html#t%3ABoolOptions"
->BoolOptions</A
-> -&gt; String -&gt; (String, <A HREF="Language-Preprocessor-Cpphs-HashDefine.html#t%3AHashDefine"
->HashDefine</A
->)</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmacroPass"
-></A
-><B
->macroPass</B
-></TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/MacroPass.html#macroPass"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
->:: [(String, String)]</TD
-><TD CLASS="rdoc"
->Pre-defined symbols and their values
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; <A HREF="Language-Preprocessor-Cpphs-Options.html#t%3ABoolOptions"
->BoolOptions</A
-></TD
-><TD CLASS="rdoc"
->Options that alter processing style
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; [(<A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
->, String)]</TD
-><TD CLASS="rdoc"
->The input file content
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; String</TD
-><TD CLASS="rdoc"
->The file after processing
-</TD
-></TR
-><TR
-><TD CLASS="ndoc" COLSPAN="2"
->Walk through the document, replacing calls of macros with the expanded RHS.
-</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3ApreDefine"
-></A
-><B
->preDefine</B
-> :: <A HREF="Language-Preprocessor-Cpphs-Options.html#t%3ABoolOptions"
->BoolOptions</A
-> -&gt; [(String, String)] -&gt; <A HREF="Language-Preprocessor-Cpphs-SymTab.html#t%3ASymTab"
->SymTab</A
-> <A HREF="Language-Preprocessor-Cpphs-HashDefine.html#t%3AHashDefine"
->HashDefine</A
-></TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/MacroPass.html#preDefine"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Turn command-line definitions (from <TT
->-D</TT
->) into <TT
-><A HREF="Language-Preprocessor-Cpphs-HashDefine.html#t%3AHashDefine"
->HashDefine</A
-></TT
->s.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AdefineMacro"
-></A
-><B
->defineMacro</B
-> :: <A HREF="Language-Preprocessor-Cpphs-Options.html#t%3ABoolOptions"
->BoolOptions</A
-> -&gt; String -&gt; (String, <A HREF="Language-Preprocessor-Cpphs-HashDefine.html#t%3AHashDefine"
->HashDefine</A
->)</TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/MacroPass.html#defineMacro"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Turn a string representing a macro definition into a <TT
-><A HREF="Language-Preprocessor-Cpphs-HashDefine.html#t%3AHashDefine"
->HashDefine</A
-></TT
->.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 0.8</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/Language-Preprocessor-Cpphs-Options.html b/docs/cpphs/Language-Preprocessor-Cpphs-Options.html
deleted file mode 100644
--- a/docs/cpphs/Language-Preprocessor-Cpphs-Options.html
+++ /dev/null
@@ -1,679 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->Language.Preprocessor.Cpphs.Options</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock.js" TYPE="text/javascript"
-></SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="Language/Preprocessor/Cpphs/Options.html"
->Source code</A
-></TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->Language.Preprocessor.Cpphs.Options</FONT
-></TD
-><TD ALIGN="right"
-><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="infohead"
->Portability</TD
-><TD CLASS="infoval"
->All</TD
-></TR
-><TR
-><TD CLASS="infohead"
->Stability</TD
-><TD CLASS="infoval"
->experimental</TD
-></TR
-><TR
-><TD CLASS="infohead"
->Maintainer</TD
-><TD CLASS="infoval"
->Malcolm Wallace &lt;Malcolm.Wallace@cs.york.ac.uk&gt;</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
->This module deals with Cpphs options and parsing them
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="#t%3ACpphsOptions"
->CpphsOptions</A
->  = <A HREF="#v%3ACpphsOptions"
->CpphsOptions</A
-> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Ainfiles"
->infiles</A
-> :: [FilePath]</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Aoutfiles"
->outfiles</A
-> :: [FilePath]</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Adefines"
->defines</A
-> :: [(String, String)]</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Aincludes"
->includes</A
-> :: [String]</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3ApreInclude"
->preInclude</A
-> :: [FilePath]</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Aboolopts"
->boolopts</A
-> :: <A HREF="Language-Preprocessor-Cpphs-Options.html#t%3ABoolOptions"
->BoolOptions</A
-></TD
-></TR
-></TABLE
->}</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="#t%3ABoolOptions"
->BoolOptions</A
->  = <A HREF="#v%3ABoolOptions"
->BoolOptions</A
-> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Amacros"
->macros</A
-> :: Bool</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Alocations"
->locations</A
-> :: Bool</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Apragma"
->pragma</A
-> :: Bool</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3AstripEol"
->stripEol</A
-> :: Bool</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3AstripC89"
->stripC89</A
-> :: Bool</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Alang"
->lang</A
-> :: Bool</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Aansi"
->ansi</A
-> :: Bool</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Alayout"
->layout</A
-> :: Bool</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Aliterate"
->literate</A
-> :: Bool</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Awarnings"
->warnings</A
-> :: Bool</TD
-></TR
-></TABLE
->}</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AparseOptions"
->parseOptions</A
-> :: [String] -&gt; Either String <A HREF="Language-Preprocessor-Cpphs-Options.html#t%3ACpphsOptions"
->CpphsOptions</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AdefaultCpphsOptions"
->defaultCpphsOptions</A
-> :: <A HREF="Language-Preprocessor-Cpphs-Options.html#t%3ACpphsOptions"
->CpphsOptions</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AdefaultBoolOptions"
->defaultBoolOptions</A
-> :: <A HREF="Language-Preprocessor-Cpphs-Options.html#t%3ABoolOptions"
->BoolOptions</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t%3ACpphsOptions"
-></A
-><B
->CpphsOptions</B
-> </TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/Options.html#CpphsOptions"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->Cpphs options structure.
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v%3ACpphsOptions"
-></A
-><B
->CpphsOptions</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="body" COLSPAN="2"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Ainfiles"
-></A
-><B
->infiles</B
-> :: [FilePath]</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Aoutfiles"
-></A
-><B
->outfiles</B
-> :: [FilePath]</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Adefines"
-></A
-><B
->defines</B
-> :: [(String, String)]</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Aincludes"
-></A
-><B
->includes</B
-> :: [String]</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3ApreInclude"
-></A
-><B
->preInclude</B
-> :: [FilePath]</TD
-><TD CLASS="rdoc"
->Files to #include before anything else
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Aboolopts"
-></A
-><B
->boolopts</B
-> :: <A HREF="Language-Preprocessor-Cpphs-Options.html#t%3ABoolOptions"
->BoolOptions</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t%3ABoolOptions"
-></A
-><B
->BoolOptions</B
-> </TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/Options.html#BoolOptions"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->Options representable as Booleans.
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v%3ABoolOptions"
-></A
-><B
->BoolOptions</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="body" COLSPAN="2"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Amacros"
-></A
-><B
->macros</B
-> :: Bool</TD
-><TD CLASS="rdoc"
->Leave #define and #undef in output of ifdef?
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Alocations"
-></A
-><B
->locations</B
-> :: Bool</TD
-><TD CLASS="rdoc"
->Place #line droppings in output?
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Apragma"
-></A
-><B
->pragma</B
-> :: Bool</TD
-><TD CLASS="rdoc"
->Keep #pragma in final output?
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3AstripEol"
-></A
-><B
->stripEol</B
-> :: Bool</TD
-><TD CLASS="rdoc"
->Remove C eol (//) comments everywhere?
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3AstripC89"
-></A
-><B
->stripC89</B
-> :: Bool</TD
-><TD CLASS="rdoc"
->Remove C inline (/**/) comments everywhere?
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Alang"
-></A
-><B
->lang</B
-> :: Bool</TD
-><TD CLASS="rdoc"
->Lex input as Haskell code?
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Aansi"
-></A
-><B
->ansi</B
-> :: Bool</TD
-><TD CLASS="rdoc"
->Permit stringise # and catenate ## operators?
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Alayout"
-></A
-><B
->layout</B
-> :: Bool</TD
-><TD CLASS="rdoc"
->Retain newlines in macro expansions?
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Aliterate"
-></A
-><B
->literate</B
-> :: Bool</TD
-><TD CLASS="rdoc"
->Remove literate markup?
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Awarnings"
-></A
-><B
->warnings</B
-> :: Bool</TD
-><TD CLASS="rdoc"
->Issue warnings?
-</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AparseOptions"
-></A
-><B
->parseOptions</B
-> :: [String] -&gt; Either String <A HREF="Language-Preprocessor-Cpphs-Options.html#t%3ACpphsOptions"
->CpphsOptions</A
-></TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/Options.html#parseOptions"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Parse all command-line options.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AdefaultCpphsOptions"
-></A
-><B
->defaultCpphsOptions</B
-> :: <A HREF="Language-Preprocessor-Cpphs-Options.html#t%3ACpphsOptions"
->CpphsOptions</A
-></TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/Options.html#defaultCpphsOptions"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Default options.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AdefaultBoolOptions"
-></A
-><B
->defaultBoolOptions</B
-> :: <A HREF="Language-Preprocessor-Cpphs-Options.html#t%3ABoolOptions"
->BoolOptions</A
-></TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/Options.html#defaultBoolOptions"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Default settings of boolean options.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 0.8</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/Language-Preprocessor-Cpphs-Position.html b/docs/cpphs/Language-Preprocessor-Cpphs-Position.html
deleted file mode 100644
--- a/docs/cpphs/Language-Preprocessor-Cpphs-Position.html
+++ /dev/null
@@ -1,631 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->Language.Preprocessor.Cpphs.Position</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock.js" TYPE="text/javascript"
-></SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="Language/Preprocessor/Cpphs/Position.html"
->Source code</A
-></TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->Language.Preprocessor.Cpphs.Position</FONT
-></TD
-><TD ALIGN="right"
-><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="infohead"
->Portability</TD
-><TD CLASS="infoval"
->All</TD
-></TR
-><TR
-><TD CLASS="infohead"
->Stability</TD
-><TD CLASS="infoval"
->experimental</TD
-></TR
-><TR
-><TD CLASS="infohead"
->Maintainer</TD
-><TD CLASS="infoval"
->Malcolm Wallace &lt;Malcolm.Wallace@cs.york.ac.uk&gt;</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
->Simple file position information, with recursive inclusion points.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="#t%3APosn"
->Posn</A
->  = <A HREF="#v%3APn"
->Pn</A
-> String !Int !Int (Maybe <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
->)</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Anewfile"
->newfile</A
-> :: String -&gt; <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Aaddcol"
->addcol</A
-> :: Int -&gt; <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-> -&gt; <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Anewline"
->newline</A
-> :: <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-> -&gt; <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Atab"
->tab</A
-> :: <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-> -&gt; <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Anewlines"
->newlines</A
-> :: Int -&gt; <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-> -&gt; <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Anewpos"
->newpos</A
-> :: Int -&gt; Maybe String -&gt; <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-> -&gt; <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Acppline"
->cppline</A
-> :: <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-> -&gt; String</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Afilename"
->filename</A
-> :: <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-> -&gt; String</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Alineno"
->lineno</A
-> :: <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-> -&gt; Int</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Adirectory"
->directory</A
-> :: <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-> -&gt; FilePath</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t%3APosn"
-></A
-><B
->Posn</B
-> </TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/Position.html#Posn"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->Source positions contain a filename, line, column, and an
-   inclusion point, which is itself another source position,
-   recursively.
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v%3APn"
-></A
-><B
->Pn</B
-> String !Int !Int (Maybe <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
->)</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section4"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Posn')" ALT="show/hide"
-> Instances</TD
-></TR
-><TR
-><TD CLASS="body"
-><DIV ID="i:Posn" STYLE="display:block;"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
->Eq <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->Show <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-></TD
-></TR
-></TABLE
-></DIV
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Anewfile"
-></A
-><B
->newfile</B
-> :: String -&gt; <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-></TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/Position.html#newfile"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Constructor
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Aaddcol"
-></A
-><B
->addcol</B
-> :: Int -&gt; <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-> -&gt; <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-></TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/Position.html#addcol"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Updates
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Anewline"
-></A
-><B
->newline</B
-> :: <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-> -&gt; <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-></TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/Position.html#newline"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Atab"
-></A
-><B
->tab</B
-> :: <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-> -&gt; <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-></TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/Position.html#tab"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Anewlines"
-></A
-><B
->newlines</B
-> :: Int -&gt; <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-> -&gt; <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-></TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/Position.html#newlines"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Anewpos"
-></A
-><B
->newpos</B
-> :: Int -&gt; Maybe String -&gt; <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-> -&gt; <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-></TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/Position.html#newpos"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Acppline"
-></A
-><B
->cppline</B
-> :: <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-> -&gt; String</TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/Position.html#cppline"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->cpp-style printing
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Afilename"
-></A
-><B
->filename</B
-> :: <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-> -&gt; String</TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/Position.html#filename"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Alineno"
-></A
-><B
->lineno</B
-> :: <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-> -&gt; Int</TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/Position.html#lineno"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Projections
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Adirectory"
-></A
-><B
->directory</B
-> :: <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-> -&gt; FilePath</TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/Position.html#directory"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 0.8</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/Language-Preprocessor-Cpphs-ReadFirst.html b/docs/cpphs/Language-Preprocessor-Cpphs-ReadFirst.html
deleted file mode 100644
--- a/docs/cpphs/Language-Preprocessor-Cpphs-ReadFirst.html
+++ /dev/null
@@ -1,216 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->Language.Preprocessor.Cpphs.ReadFirst</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock.js" TYPE="text/javascript"
-></SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="Language/Preprocessor/Cpphs/ReadFirst.html"
->Source code</A
-></TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->Language.Preprocessor.Cpphs.ReadFirst</FONT
-></TD
-><TD ALIGN="right"
-><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="infohead"
->Portability</TD
-><TD CLASS="infoval"
->All</TD
-></TR
-><TR
-><TD CLASS="infohead"
->Stability</TD
-><TD CLASS="infoval"
->experimental</TD
-></TR
-><TR
-><TD CLASS="infohead"
->Maintainer</TD
-><TD CLASS="infoval"
->Malcolm Wallace &lt;Malcolm.Wallace@cs.york.ac.uk&gt;</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
->Read the first file that matches in a list of search paths.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AreadFirst"
->readFirst</A
-> :: String -&gt; <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-> -&gt; [String] -&gt; Bool -&gt; IO (FilePath, String)</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AreadFirst"
-></A
-><B
->readFirst</B
-></TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/ReadFirst.html#readFirst"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
->:: String</TD
-><TD CLASS="rdoc"
->filename
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-></TD
-><TD CLASS="rdoc"
->inclusion point
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; [String]</TD
-><TD CLASS="rdoc"
->search path
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; Bool</TD
-><TD CLASS="rdoc"
->report warnings?
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; IO (FilePath, String)</TD
-><TD CLASS="rdoc"
->discovered filepath, and file contents
-</TD
-></TR
-><TR
-><TD CLASS="ndoc" COLSPAN="2"
->Attempt to read the given file from any location within the search path.
-   The first location found is returned, together with the file content.
-   (The directory of the calling file is always searched first, then
-    the current directory, finally any specified search path.)
-</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 0.8</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/Language-Preprocessor-Cpphs-RunCpphs.html b/docs/cpphs/Language-Preprocessor-Cpphs-RunCpphs.html
deleted file mode 100644
--- a/docs/cpphs/Language-Preprocessor-Cpphs-RunCpphs.html
+++ /dev/null
@@ -1,114 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->Language.Preprocessor.Cpphs.RunCpphs</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock.js" TYPE="text/javascript"
-></SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="Language/Preprocessor/Cpphs/RunCpphs.html"
->Source code</A
-></TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->Language.Preprocessor.Cpphs.RunCpphs</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3ArunCpphs"
-></A
-><B
->runCpphs</B
-> :: <A HREF="Language-Preprocessor-Cpphs-Options.html#t%3ACpphsOptions"
->CpphsOptions</A
-> -&gt; FilePath -&gt; String -&gt; String</TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/RunCpphs.html#runCpphs"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 0.8</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/Language-Preprocessor-Cpphs-SymTab.html b/docs/cpphs/Language-Preprocessor-Cpphs-SymTab.html
deleted file mode 100644
--- a/docs/cpphs/Language-Preprocessor-Cpphs-SymTab.html
+++ /dev/null
@@ -1,432 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->Language.Preprocessor.Cpphs.SymTab</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock.js" TYPE="text/javascript"
-></SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="Language/Preprocessor/Cpphs/SymTab.html"
->Source code</A
-></TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->Language.Preprocessor.Cpphs.SymTab</FONT
-></TD
-><TD ALIGN="right"
-><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="infohead"
->Portability</TD
-><TD CLASS="infoval"
->All</TD
-></TR
-><TR
-><TD CLASS="infohead"
->Stability</TD
-><TD CLASS="infoval"
->Stable</TD
-></TR
-><TR
-><TD CLASS="infohead"
->Maintainer</TD
-><TD CLASS="infoval"
->Malcolm Wallace &lt;Malcolm.Wallace@cs.york.ac.uk&gt;</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
->Symbol Table, based on index trees using a hash on the key.
-   Keys are always Strings.  Stored values can be any type.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->type</SPAN
-> <A HREF="#t%3ASymTab"
->SymTab</A
-> v = <A HREF="Language-Preprocessor-Cpphs-SymTab.html#t%3AIndTree"
->IndTree</A
-> [(String, v)]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AemptyST"
->emptyST</A
-> :: <A HREF="Language-Preprocessor-Cpphs-SymTab.html#t%3ASymTab"
->SymTab</A
-> v</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AinsertST"
->insertST</A
-> :: (String, v) -&gt; <A HREF="Language-Preprocessor-Cpphs-SymTab.html#t%3ASymTab"
->SymTab</A
-> v -&gt; <A HREF="Language-Preprocessor-Cpphs-SymTab.html#t%3ASymTab"
->SymTab</A
-> v</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AdeleteST"
->deleteST</A
-> :: String -&gt; <A HREF="Language-Preprocessor-Cpphs-SymTab.html#t%3ASymTab"
->SymTab</A
-> v -&gt; <A HREF="Language-Preprocessor-Cpphs-SymTab.html#t%3ASymTab"
->SymTab</A
-> v</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AlookupST"
->lookupST</A
-> :: String -&gt; <A HREF="Language-Preprocessor-Cpphs-SymTab.html#t%3ASymTab"
->SymTab</A
-> v -&gt; Maybe v</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AdefinedST"
->definedST</A
-> :: String -&gt; <A HREF="Language-Preprocessor-Cpphs-SymTab.html#t%3ASymTab"
->SymTab</A
-> v -&gt; Bool</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="#t%3AIndTree"
->IndTree</A
-> t</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><SPAN CLASS="keyword"
->type</SPAN
-> <A NAME="t%3ASymTab"
-></A
-><B
->SymTab</B
-> v = <A HREF="Language-Preprocessor-Cpphs-SymTab.html#t%3AIndTree"
->IndTree</A
-> [(String, v)]</TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/SymTab.html#SymTab"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Symbol Table.  Stored values are polymorphic, but the keys are
-   always strings.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AemptyST"
-></A
-><B
->emptyST</B
-> :: <A HREF="Language-Preprocessor-Cpphs-SymTab.html#t%3ASymTab"
->SymTab</A
-> v</TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/SymTab.html#emptyST"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AinsertST"
-></A
-><B
->insertST</B
-> :: (String, v) -&gt; <A HREF="Language-Preprocessor-Cpphs-SymTab.html#t%3ASymTab"
->SymTab</A
-> v -&gt; <A HREF="Language-Preprocessor-Cpphs-SymTab.html#t%3ASymTab"
->SymTab</A
-> v</TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/SymTab.html#insertST"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AdeleteST"
-></A
-><B
->deleteST</B
-> :: String -&gt; <A HREF="Language-Preprocessor-Cpphs-SymTab.html#t%3ASymTab"
->SymTab</A
-> v -&gt; <A HREF="Language-Preprocessor-Cpphs-SymTab.html#t%3ASymTab"
->SymTab</A
-> v</TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/SymTab.html#deleteST"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AlookupST"
-></A
-><B
->lookupST</B
-> :: String -&gt; <A HREF="Language-Preprocessor-Cpphs-SymTab.html#t%3ASymTab"
->SymTab</A
-> v -&gt; Maybe v</TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/SymTab.html#lookupST"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AdefinedST"
-></A
-><B
->definedST</B
-> :: String -&gt; <A HREF="Language-Preprocessor-Cpphs-SymTab.html#t%3ASymTab"
->SymTab</A
-> v -&gt; Bool</TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/SymTab.html#definedST"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t%3AIndTree"
-></A
-><B
->IndTree</B
-> t</TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/SymTab.html#IndTree"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->Index Trees (storing indexes at nodes).
-</TD
-></TR
-><TR
-><TD CLASS="section4"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:IndTree')" ALT="show/hide"
-> Instances</TD
-></TR
-><TR
-><TD CLASS="body"
-><DIV ID="i:IndTree" STYLE="display:block;"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
->Show t =&gt; Show (<A HREF="Language-Preprocessor-Cpphs-SymTab.html#t%3AIndTree"
->IndTree</A
-> t)</TD
-></TR
-></TABLE
-></DIV
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 0.8</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/Language-Preprocessor-Cpphs-Tokenise.html b/docs/cpphs/Language-Preprocessor-Cpphs-Tokenise.html
deleted file mode 100644
--- a/docs/cpphs/Language-Preprocessor-Cpphs-Tokenise.html
+++ /dev/null
@@ -1,508 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->Language.Preprocessor.Cpphs.Tokenise</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock.js" TYPE="text/javascript"
-></SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="Language/Preprocessor/Cpphs/Tokenise.html"
->Source code</A
-></TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->Language.Preprocessor.Cpphs.Tokenise</FONT
-></TD
-><TD ALIGN="right"
-><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="infohead"
->Portability</TD
-><TD CLASS="infoval"
->All</TD
-></TR
-><TR
-><TD CLASS="infohead"
->Stability</TD
-><TD CLASS="infoval"
->experimental</TD
-></TR
-><TR
-><TD CLASS="infohead"
->Maintainer</TD
-><TD CLASS="infoval"
->Malcolm Wallace &lt;Malcolm.Wallace@cs.york.ac.uk&gt;</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
->The purpose of this module is to lex a source file (language
- unspecified) into tokens such that cpp can recognise a replaceable
- symbol or macro-use, and do the right thing.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AlinesCpp"
->linesCpp</A
-> :: String -&gt; [String]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Areslash"
->reslash</A
-> :: String -&gt; String</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Atokenise"
->tokenise</A
-> :: Bool -&gt; Bool -&gt; Bool -&gt; Bool -&gt; [(<A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
->, String)] -&gt; [<A HREF="Language-Preprocessor-Cpphs-Tokenise.html#t%3AWordStyle"
->WordStyle</A
->]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="#t%3AWordStyle"
->WordStyle</A
-> </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
->= <A HREF="#v%3AIdent"
->Ident</A
-> <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-> String</TD
-></TR
-><TR
-><TD CLASS="decl"
->| <A HREF="#v%3AOther"
->Other</A
-> String</TD
-></TR
-><TR
-><TD CLASS="decl"
->| <A HREF="#v%3ACmd"
->Cmd</A
-> (Maybe <A HREF="Language-Preprocessor-Cpphs-HashDefine.html#t%3AHashDefine"
->HashDefine</A
->)</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AdeWordStyle"
->deWordStyle</A
-> :: <A HREF="Language-Preprocessor-Cpphs-Tokenise.html#t%3AWordStyle"
->WordStyle</A
-> -&gt; String</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AparseMacroCall"
->parseMacroCall</A
-> :: <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-> -&gt; [<A HREF="Language-Preprocessor-Cpphs-Tokenise.html#t%3AWordStyle"
->WordStyle</A
->] -&gt; Maybe ([[<A HREF="Language-Preprocessor-Cpphs-Tokenise.html#t%3AWordStyle"
->WordStyle</A
->]], [<A HREF="Language-Preprocessor-Cpphs-Tokenise.html#t%3AWordStyle"
->WordStyle</A
->])</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AlinesCpp"
-></A
-><B
->linesCpp</B
-> :: String -&gt; [String]</TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/Tokenise.html#linesCpp"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->linesCpp is, broadly speaking, Prelude.lines, except that
-   on a line beginning with a #, line continuation characters are
-   recognised.  In a line continuation, the newline character is
-   preserved, but the backslash is not.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Areslash"
-></A
-><B
->reslash</B
-> :: String -&gt; String</TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/Tokenise.html#reslash"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Put back the line-continuation characters.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Atokenise"
-></A
-><B
->tokenise</B
-> :: Bool -&gt; Bool -&gt; Bool -&gt; Bool -&gt; [(<A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
->, String)] -&gt; [<A HREF="Language-Preprocessor-Cpphs-Tokenise.html#t%3AWordStyle"
->WordStyle</A
->]</TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/Tokenise.html#tokenise"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->tokenise is, broadly-speaking, Prelude.words, except that:
-    * the input is already divided into lines
-    * each word-like <A HREF="token.html"
->token</A
-> is categorised as one of {Ident,Other,Cmd}
-    * #define's are parsed and returned out-of-band using the Cmd variant
-    * All whitespace is preserved intact as tokens.
-    * C-comments are converted to white-space (depending on first param)
-    * Parens and commas are tokens in their own right.
-    * Any cpp line continuations are respected.
-   No errors can be raised.
-   The inverse of tokenise is (concatMap deWordStyle).
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t%3AWordStyle"
-></A
-><B
->WordStyle</B
-> </TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/Tokenise.html#WordStyle"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->Each token is classified as one of Ident, Other, or Cmd:
-   * Ident is a word that could potentially match a macro name.
-   * Cmd is a complete cpp directive (#define etc).
-   * Other is anything else.
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v%3AIdent"
-></A
-><B
->Ident</B
-> <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-> String</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3AOther"
-></A
-><B
->Other</B
-> String</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3ACmd"
-></A
-><B
->Cmd</B
-> (Maybe <A HREF="Language-Preprocessor-Cpphs-HashDefine.html#t%3AHashDefine"
->HashDefine</A
->)</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section4"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:WordStyle')" ALT="show/hide"
-> Instances</TD
-></TR
-><TR
-><TD CLASS="body"
-><DIV ID="i:WordStyle" STYLE="display:block;"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
->Eq <A HREF="Language-Preprocessor-Cpphs-Tokenise.html#t%3AWordStyle"
->WordStyle</A
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->Show <A HREF="Language-Preprocessor-Cpphs-Tokenise.html#t%3AWordStyle"
->WordStyle</A
-></TD
-></TR
-></TABLE
-></DIV
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AdeWordStyle"
-></A
-><B
->deWordStyle</B
-> :: <A HREF="Language-Preprocessor-Cpphs-Tokenise.html#t%3AWordStyle"
->WordStyle</A
-> -&gt; String</TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/Tokenise.html#deWordStyle"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AparseMacroCall"
-></A
-><B
->parseMacroCall</B
-> :: <A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
-> -&gt; [<A HREF="Language-Preprocessor-Cpphs-Tokenise.html#t%3AWordStyle"
->WordStyle</A
->] -&gt; Maybe ([[<A HREF="Language-Preprocessor-Cpphs-Tokenise.html#t%3AWordStyle"
->WordStyle</A
->]], [<A HREF="Language-Preprocessor-Cpphs-Tokenise.html#t%3AWordStyle"
->WordStyle</A
->])</TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs/Tokenise.html#parseMacroCall"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Parse a possible macro call, returning argument list and remaining input
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 0.8</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/Language-Preprocessor-Cpphs.html b/docs/cpphs/Language-Preprocessor-Cpphs.html
deleted file mode 100644
--- a/docs/cpphs/Language-Preprocessor-Cpphs.html
+++ /dev/null
@@ -1,888 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->Language.Preprocessor.Cpphs</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock.js" TYPE="text/javascript"
-></SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="Language/Preprocessor/Cpphs.html"
->Source code</A
-></TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->Language.Preprocessor.Cpphs</FONT
-></TD
-><TD ALIGN="right"
-><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="infohead"
->Portability</TD
-><TD CLASS="infoval"
->All</TD
-></TR
-><TR
-><TD CLASS="infohead"
->Stability</TD
-><TD CLASS="infoval"
->experimental</TD
-></TR
-><TR
-><TD CLASS="infohead"
->Maintainer</TD
-><TD CLASS="infoval"
->Malcolm Wallace &lt;Malcolm.Wallace@cs.york.ac.uk&gt;</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
->Include the interface that is exported
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3ArunCpphs"
->runCpphs</A
-> :: <A HREF="Language-Preprocessor-Cpphs.html#t%3ACpphsOptions"
->CpphsOptions</A
-> -&gt; FilePath -&gt; String -&gt; String</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AcppIfdef"
->cppIfdef</A
-> :: FilePath -&gt; [(String, String)] -&gt; [String] -&gt; <A HREF="Language-Preprocessor-Cpphs.html#t%3ABoolOptions"
->BoolOptions</A
-> -&gt; String -&gt; [(<A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
->, String)]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmacroPass"
->macroPass</A
-> :: [(String, String)] -&gt; <A HREF="Language-Preprocessor-Cpphs.html#t%3ABoolOptions"
->BoolOptions</A
-> -&gt; [(<A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
->, String)] -&gt; String</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="#t%3ACpphsOptions"
->CpphsOptions</A
->  = <A HREF="#v%3ACpphsOptions"
->CpphsOptions</A
-> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Ainfiles"
->infiles</A
-> :: [FilePath]</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Aoutfiles"
->outfiles</A
-> :: [FilePath]</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Adefines"
->defines</A
-> :: [(String, String)]</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Aincludes"
->includes</A
-> :: [String]</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3ApreInclude"
->preInclude</A
-> :: [FilePath]</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Aboolopts"
->boolopts</A
-> :: <A HREF="Language-Preprocessor-Cpphs.html#t%3ABoolOptions"
->BoolOptions</A
-></TD
-></TR
-></TABLE
->}</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="#t%3ABoolOptions"
->BoolOptions</A
->  = <A HREF="#v%3ABoolOptions"
->BoolOptions</A
-> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Amacros"
->macros</A
-> :: Bool</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Alocations"
->locations</A
-> :: Bool</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Apragma"
->pragma</A
-> :: Bool</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3AstripEol"
->stripEol</A
-> :: Bool</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3AstripC89"
->stripC89</A
-> :: Bool</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Alang"
->lang</A
-> :: Bool</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Aansi"
->ansi</A
-> :: Bool</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Alayout"
->layout</A
-> :: Bool</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Aliterate"
->literate</A
-> :: Bool</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Awarnings"
->warnings</A
-> :: Bool</TD
-></TR
-></TABLE
->}</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AparseOptions"
->parseOptions</A
-> :: [String] -&gt; Either String <A HREF="Language-Preprocessor-Cpphs.html#t%3ACpphsOptions"
->CpphsOptions</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AdefaultCpphsOptions"
->defaultCpphsOptions</A
-> :: <A HREF="Language-Preprocessor-Cpphs.html#t%3ACpphsOptions"
->CpphsOptions</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AdefaultBoolOptions"
->defaultBoolOptions</A
-> :: <A HREF="Language-Preprocessor-Cpphs.html#t%3ABoolOptions"
->BoolOptions</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3ArunCpphs"
-></A
-><B
->runCpphs</B
-> :: <A HREF="Language-Preprocessor-Cpphs.html#t%3ACpphsOptions"
->CpphsOptions</A
-> -&gt; FilePath -&gt; String -&gt; String</TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs.html#runCpphs"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AcppIfdef"
-></A
-><B
->cppIfdef</B
-></TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs.html#cppIfdef"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
->:: FilePath</TD
-><TD CLASS="rdoc"
->File for error reports
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; [(String, String)]</TD
-><TD CLASS="rdoc"
->Pre-defined symbols and their values
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; [String]</TD
-><TD CLASS="rdoc"
->Search path for #includes
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; <A HREF="Language-Preprocessor-Cpphs.html#t%3ABoolOptions"
->BoolOptions</A
-></TD
-><TD CLASS="rdoc"
->Options controlling output style
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; String</TD
-><TD CLASS="rdoc"
->The input file content
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; [(<A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
->, String)]</TD
-><TD CLASS="rdoc"
->The file after processing (in lines)
-</TD
-></TR
-><TR
-><TD CLASS="ndoc" COLSPAN="2"
->Run a first pass of cpp, evaluating #ifdef's and processing #include's,
-   whilst taking account of #define's and #undef's as we encounter them.
-</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmacroPass"
-></A
-><B
->macroPass</B
-></TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs.html#macroPass"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
->:: [(String, String)]</TD
-><TD CLASS="rdoc"
->Pre-defined symbols and their values
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; <A HREF="Language-Preprocessor-Cpphs.html#t%3ABoolOptions"
->BoolOptions</A
-></TD
-><TD CLASS="rdoc"
->Options that alter processing style
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; [(<A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Posn</A
->, String)]</TD
-><TD CLASS="rdoc"
->The input file content
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; String</TD
-><TD CLASS="rdoc"
->The file after processing
-</TD
-></TR
-><TR
-><TD CLASS="ndoc" COLSPAN="2"
->Walk through the document, replacing calls of macros with the expanded RHS.
-</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t%3ACpphsOptions"
-></A
-><B
->CpphsOptions</B
-> </TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs.html#CpphsOptions"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->Cpphs options structure.
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v%3ACpphsOptions"
-></A
-><B
->CpphsOptions</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="body" COLSPAN="2"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Ainfiles"
-></A
-><B
->infiles</B
-> :: [FilePath]</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Aoutfiles"
-></A
-><B
->outfiles</B
-> :: [FilePath]</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Adefines"
-></A
-><B
->defines</B
-> :: [(String, String)]</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Aincludes"
-></A
-><B
->includes</B
-> :: [String]</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3ApreInclude"
-></A
-><B
->preInclude</B
-> :: [FilePath]</TD
-><TD CLASS="rdoc"
->Files to #include before anything else
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Aboolopts"
-></A
-><B
->boolopts</B
-> :: <A HREF="Language-Preprocessor-Cpphs.html#t%3ABoolOptions"
->BoolOptions</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t%3ABoolOptions"
-></A
-><B
->BoolOptions</B
-> </TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs.html#BoolOptions"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->Options representable as Booleans.
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v%3ABoolOptions"
-></A
-><B
->BoolOptions</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="body" COLSPAN="2"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Amacros"
-></A
-><B
->macros</B
-> :: Bool</TD
-><TD CLASS="rdoc"
->Leave #define and #undef in output of ifdef?
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Alocations"
-></A
-><B
->locations</B
-> :: Bool</TD
-><TD CLASS="rdoc"
->Place #line droppings in output?
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Apragma"
-></A
-><B
->pragma</B
-> :: Bool</TD
-><TD CLASS="rdoc"
->Keep #pragma in final output?
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3AstripEol"
-></A
-><B
->stripEol</B
-> :: Bool</TD
-><TD CLASS="rdoc"
->Remove C eol (//) comments everywhere?
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3AstripC89"
-></A
-><B
->stripC89</B
-> :: Bool</TD
-><TD CLASS="rdoc"
->Remove C inline (/**/) comments everywhere?
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Alang"
-></A
-><B
->lang</B
-> :: Bool</TD
-><TD CLASS="rdoc"
->Lex input as Haskell code?
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Aansi"
-></A
-><B
->ansi</B
-> :: Bool</TD
-><TD CLASS="rdoc"
->Permit stringise # and catenate ## operators?
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Alayout"
-></A
-><B
->layout</B
-> :: Bool</TD
-><TD CLASS="rdoc"
->Retain newlines in macro expansions?
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Aliterate"
-></A
-><B
->literate</B
-> :: Bool</TD
-><TD CLASS="rdoc"
->Remove literate markup?
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Awarnings"
-></A
-><B
->warnings</B
-> :: Bool</TD
-><TD CLASS="rdoc"
->Issue warnings?
-</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AparseOptions"
-></A
-><B
->parseOptions</B
-> :: [String] -&gt; Either String <A HREF="Language-Preprocessor-Cpphs.html#t%3ACpphsOptions"
->CpphsOptions</A
-></TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs.html#parseOptions"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Parse all command-line options.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AdefaultCpphsOptions"
-></A
-><B
->defaultCpphsOptions</B
-> :: <A HREF="Language-Preprocessor-Cpphs.html#t%3ACpphsOptions"
->CpphsOptions</A
-></TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs.html#defaultCpphsOptions"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Default options.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AdefaultBoolOptions"
-></A
-><B
->defaultBoolOptions</B
-> :: <A HREF="Language-Preprocessor-Cpphs.html#t%3ABoolOptions"
->BoolOptions</A
-></TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Cpphs.html#defaultBoolOptions"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Default settings of boolean options.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 0.8</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/Language-Preprocessor-Unlit.html b/docs/cpphs/Language-Preprocessor-Unlit.html
deleted file mode 100644
--- a/docs/cpphs/Language-Preprocessor-Unlit.html
+++ /dev/null
@@ -1,154 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->Language.Preprocessor.Unlit</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock.js" TYPE="text/javascript"
-></SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="Language/Preprocessor/Unlit.html"
->Source code</A
-></TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->Language.Preprocessor.Unlit</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
->Part of this code is from <A HREF="Report on the Programming Language Haskell.html"
->Report on the Programming Language Haskell</A
->,
-   version 1.2, appendix C.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Aunlit"
->unlit</A
-> :: FilePath -&gt; String -&gt; String</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Aunlit"
-></A
-><B
->unlit</B
-> :: FilePath -&gt; String -&gt; String</TD
-><TD CLASS="declbut"
-><A HREF="Language/Preprocessor/Unlit.html#unlit"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><TT
-><A HREF="Language-Preprocessor-Unlit.html#v%3Aunlit"
->unlit</A
-></TT
-> takes a filename (for error reports), and transforms the
-   given string, to eliminate the literate comments from the program text.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 0.8</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/Language/Preprocessor/Cpphs.html b/docs/cpphs/Language/Preprocessor/Cpphs.html
deleted file mode 100644
--- a/docs/cpphs/Language/Preprocessor/Cpphs.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<pre><a name="(line1)"></a><font color=Blue>-----------------------------------------------------------------------------</font>
-<a name="(line2)"></a><font color=Blue>-- |</font>
-<a name="(line3)"></a><font color=Blue>-- Module      :  Language.Preprocessor.Cpphs</font>
-<a name="(line4)"></a><font color=Blue>-- Copyright   :  2000-2006 Malcolm Wallace</font>
-<a name="(line5)"></a><font color=Blue>-- Licence     :  LGPL</font>
-<a name="(line6)"></a><font color=Blue>--</font>
-<a name="(line7)"></a><font color=Blue>-- Maintainer  :  Malcolm Wallace &lt;Malcolm.Wallace@cs.york.ac.uk&gt;</font>
-<a name="(line8)"></a><font color=Blue>-- Stability   :  experimental</font>
-<a name="(line9)"></a><font color=Blue>-- Portability :  All</font>
-<a name="(line10)"></a><font color=Blue>--</font>
-<a name="(line11)"></a><font color=Blue>-- Include the interface that is exported</font>
-<a name="(line12)"></a><font color=Blue>-----------------------------------------------------------------------------</font>
-<a name="(line13)"></a>
-<a name="(line14)"></a><font color=Green><u>module</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs
-<a name="(line15)"></a>  <font color=Cyan>(</font> runCpphs<font color=Cyan>,</font> cppIfdef<font color=Cyan>,</font> macroPass<font color=Cyan>,</font> CpphsOptions<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font><font color=Cyan>,</font> BoolOptions<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font>
-<a name="(line16)"></a>  <font color=Cyan>,</font> parseOptions<font color=Cyan>,</font> defaultCpphsOptions<font color=Cyan>,</font> defaultBoolOptions
-<a name="(line17)"></a>  <font color=Cyan>)</font> <font color=Green><u>where</u></font>
-<a name="(line18)"></a>
-<a name="(line19)"></a><font color=Green><u>import</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>CppIfdef<font color=Cyan>(</font>cppIfdef<font color=Cyan>)</font>
-<a name="(line20)"></a><font color=Green><u>import</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>MacroPass<font color=Cyan>(</font>macroPass<font color=Cyan>)</font>
-<a name="(line21)"></a><font color=Green><u>import</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>RunCpphs<font color=Cyan>(</font>runCpphs<font color=Cyan>)</font>
-<a name="(line22)"></a><font color=Green><u>import</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>Options
-<a name="(line23)"></a>       <font color=Cyan>(</font>CpphsOptions<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font><font color=Cyan>,</font> BoolOptions<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font><font color=Cyan>,</font> parseOptions
-<a name="(line24)"></a>       <font color=Cyan>,</font>defaultCpphsOptions<font color=Cyan>,</font>defaultBoolOptions<font color=Cyan>)</font>
-</pre>
-</html>
diff --git a/docs/cpphs/Language/Preprocessor/Cpphs/CppIfdef.html b/docs/cpphs/Language/Preprocessor/Cpphs/CppIfdef.html
deleted file mode 100644
--- a/docs/cpphs/Language/Preprocessor/Cpphs/CppIfdef.html
+++ /dev/null
@@ -1,271 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<pre><a name="(line1)"></a><font color=Blue>-----------------------------------------------------------------------------</font>
-<a name="(line2)"></a><font color=Blue>-- |</font>
-<a name="(line3)"></a><font color=Blue>-- Module      :  CppIfdef</font>
-<a name="(line4)"></a><font color=Blue>-- Copyright   :  1999-2004 Malcolm Wallace</font>
-<a name="(line5)"></a><font color=Blue>-- Licence     :  LGPL</font>
-<a name="(line6)"></a><font color=Blue>-- </font>
-<a name="(line7)"></a><font color=Blue>-- Maintainer  :  Malcolm Wallace &lt;Malcolm.Wallace@cs.york.ac.uk&gt;</font>
-<a name="(line8)"></a><font color=Blue>-- Stability   :  experimental</font>
-<a name="(line9)"></a><font color=Blue>-- Portability :  All</font>
-<a name="(line10)"></a><font color=Blue>--</font>
-<a name="(line11)"></a><font color=Blue>-- Perform a cpp.first-pass, gathering \#define's and evaluating \#ifdef's.</font>
-<a name="(line12)"></a><font color=Blue>-- and \#include's.</font>
-<a name="(line13)"></a><font color=Blue>-----------------------------------------------------------------------------</font>
-<a name="(line14)"></a>
-<a name="(line15)"></a><font color=Green><u>module</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>CppIfdef
-<a name="(line16)"></a>  <font color=Cyan>(</font> cppIfdef	<font color=Blue>-- :: FilePath -&gt; [(String,String)] -&gt; [String] -&gt; Options</font>
-<a name="(line17)"></a>		<font color=Blue>--      -&gt; String -&gt; [(Posn,String)]</font>
-<a name="(line18)"></a>  <font color=Cyan>)</font> <font color=Green><u>where</u></font>
-<a name="(line19)"></a>
-<a name="(line20)"></a>
-<a name="(line21)"></a><font color=Green><u>import</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>SymTab
-<a name="(line22)"></a><font color=Green><u>import</u></font> Text<font color=Cyan>.</font>ParserCombinators<font color=Cyan>.</font>HuttonMeijer
-<a name="(line23)"></a><font color=Blue>-- import HashDefine</font>
-<a name="(line24)"></a><font color=Green><u>import</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>Position  <font color=Cyan>(</font>Posn<font color=Cyan>,</font>newfile<font color=Cyan>,</font>newline<font color=Cyan>,</font>newlines
-<a name="(line25)"></a>                                             <font color=Cyan>,</font>cppline<font color=Cyan>,</font>newpos<font color=Cyan>)</font>
-<a name="(line26)"></a><font color=Green><u>import</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>ReadFirst <font color=Cyan>(</font>readFirst<font color=Cyan>)</font>
-<a name="(line27)"></a><font color=Green><u>import</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>Tokenise  <font color=Cyan>(</font>linesCpp<font color=Cyan>,</font>reslash<font color=Cyan>)</font>
-<a name="(line28)"></a><font color=Green><u>import</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>Options   <font color=Cyan>(</font>BoolOptions<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="(line29)"></a><font color=Green><u>import</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>HashDefine<font color=Cyan>(</font>HashDefine<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font><font color=Cyan>,</font>parseHashDefine
-<a name="(line30)"></a>                                             <font color=Cyan>,</font>expandMacro<font color=Cyan>)</font>
-<a name="(line31)"></a><font color=Green><u>import</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>MacroPass <font color=Cyan>(</font>preDefine<font color=Cyan>,</font>defineMacro<font color=Cyan>)</font>
-<a name="(line32)"></a><font color=Green><u>import</u></font> Char      <font color=Cyan>(</font>isDigit<font color=Cyan>)</font>
-<a name="(line33)"></a><font color=Green><u>import</u></font> Numeric   <font color=Cyan>(</font>readHex<font color=Cyan>,</font>readOct<font color=Cyan>,</font>readDec<font color=Cyan>)</font>
-<a name="(line34)"></a><font color=Green><u>import</u></font> System<font color=Cyan>.</font>IO<font color=Cyan>.</font>Unsafe <font color=Cyan>(</font>unsafePerformIO<font color=Cyan>)</font>
-<a name="(line35)"></a><font color=Green><u>import</u></font> IO        <font color=Cyan>(</font>hPutStrLn<font color=Cyan>,</font>stderr<font color=Cyan>)</font>
-<a name="(line36)"></a>
-<a name="(line37)"></a>
-<a name="(line38)"></a><a name="cppIfdef"></a><font color=Blue>-- | Run a first pass of cpp, evaluating \#ifdef's and processing \#include's,</font>
-<a name="(line39)"></a><font color=Blue>--   whilst taking account of \#define's and \#undef's as we encounter them.</font>
-<a name="(line40)"></a>cppIfdef <font color=Red>::</font> FilePath		<font color=Blue>-- ^ File for error reports</font>
-<a name="(line41)"></a>	<font color=Red>-&gt;</font> <font color=Red>[</font><font color=Cyan>(</font>String<font color=Cyan>,</font>String<font color=Cyan>)</font><font color=Red>]</font>	<font color=Blue>-- ^ Pre-defined symbols and their values</font>
-<a name="(line42)"></a>	<font color=Red>-&gt;</font> <font color=Red>[</font>String<font color=Red>]</font>		<font color=Blue>-- ^ Search path for \#includes</font>
-<a name="(line43)"></a>	<font color=Red>-&gt;</font> BoolOptions		<font color=Blue>-- ^ Options controlling output style</font>
-<a name="(line44)"></a>	<font color=Red>-&gt;</font> String		<font color=Blue>-- ^ The input file content</font>
-<a name="(line45)"></a>	<font color=Red>-&gt;</font> <font color=Red>[</font><font color=Cyan>(</font>Posn<font color=Cyan>,</font>String<font color=Cyan>)</font><font color=Red>]</font>	<font color=Blue>-- ^ The file after processing (in lines)</font>
-<a name="(line46)"></a>cppIfdef fp syms search options <font color=Red>=</font>
-<a name="(line47)"></a>    cpp posn defs search options Keep <font color=Cyan>.</font> <font color=Cyan>(</font>cppline posn<font color=Red><b>:</b></font><font color=Cyan>)</font> <font color=Cyan>.</font> linesCpp
-<a name="(line48)"></a>  <font color=Green><u>where</u></font>
-<a name="(line49)"></a>    posn <font color=Red>=</font> newfile fp
-<a name="(line50)"></a>    defs <font color=Red>=</font> preDefine options syms
-<a name="(line51)"></a><font color=Blue>-- Previous versions had a very simple symbol table  mapping strings</font>
-<a name="(line52)"></a><font color=Blue>-- to strings.  Now the #ifdef pass uses a more elaborate table, in</font>
-<a name="(line53)"></a><font color=Blue>-- particular to deal with parameterised macros in conditionals.</font>
-<a name="(line54)"></a>
-<a name="(line55)"></a>
-<a name="(line56)"></a><a name="KeepState"></a><font color=Blue>-- | Internal state for whether lines are being kept or dropped.</font>
-<a name="(line57)"></a><a name="KeepState"></a><font color=Blue>--   In @Drop n b@, @n@ is the depth of nesting, @b@ is whether</font>
-<a name="(line58)"></a><a name="KeepState"></a><font color=Blue>--   we have already succeeded in keeping some lines in a chain of</font>
-<a name="(line59)"></a><a name="KeepState"></a><font color=Blue>--   @elif@'s</font>
-<a name="(line60)"></a><a name="KeepState"></a><font color=Green><u>data</u></font> KeepState <font color=Red>=</font> Keep <font color=Red>|</font> Drop Int Bool
-<a name="(line61)"></a>
-<a name="(line62)"></a><a name="cpp"></a><font color=Blue>-- | Return just the list of lines that the real cpp would decide to keep.</font>
-<a name="(line63)"></a>cpp <font color=Red>::</font> Posn <font color=Red>-&gt;</font> SymTab HashDefine <font color=Red>-&gt;</font> <font color=Red>[</font>String<font color=Red>]</font> <font color=Red>-&gt;</font> BoolOptions <font color=Red>-&gt;</font> KeepState
-<a name="(line64)"></a>       <font color=Red>-&gt;</font> <font color=Red>[</font>String<font color=Red>]</font> <font color=Red>-&gt;</font> <font color=Red>[</font><font color=Cyan>(</font>Posn<font color=Cyan>,</font>String<font color=Cyan>)</font><font color=Red>]</font>
-<a name="(line65)"></a>cpp <font color=Green><u>_</u></font> <font color=Green><u>_</u></font> <font color=Green><u>_</u></font> <font color=Green><u>_</u></font> <font color=Green><u>_</u></font> [] <font color=Red>=</font> []
-<a name="(line66)"></a>
-<a name="(line67)"></a>cpp p syms path options Keep <font color=Cyan>(</font>l<font color=Red>@</font><font color=Cyan>(</font><font color=Magenta>'#'</font><font color=Red><b>:</b></font>x<font color=Cyan>)</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font>
-<a name="(line68)"></a>    <font color=Green><u>let</u></font> ws <font color=Red>=</font> words x
-<a name="(line69)"></a>        cmd <font color=Red>=</font> head ws
-<a name="(line70)"></a>        line <font color=Red>=</font> tail ws
-<a name="(line71)"></a>        sym  <font color=Red>=</font> head <font color=Cyan>(</font>tail ws<font color=Cyan>)</font>
-<a name="(line72)"></a>        rest <font color=Red>=</font> tail <font color=Cyan>(</font>tail ws<font color=Cyan>)</font>
-<a name="(line73)"></a>        def <font color=Red>=</font> defineMacro options <font color=Cyan>(</font>sym<font color=Cyan>++</font><font color=Magenta>" "</font><font color=Cyan>++</font> maybe <font color=Magenta>"1"</font> id <font color=Cyan>(</font>un rest<font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="(line74)"></a>        un v <font color=Red>=</font> <font color=Green><u>if</u></font> null v <font color=Green><u>then</u></font> Nothing <font color=Green><u>else</u></font> Just <font color=Cyan>(</font>unwords v<font color=Cyan>)</font>
-<a name="(line75)"></a>        keepIf p <font color=Red>=</font> <font color=Green><u>if</u></font> p <font color=Green><u>then</u></font> Keep <font color=Green><u>else</u></font> <font color=Cyan>(</font>Drop <font color=Magenta>1</font> False<font color=Cyan>)</font>
-<a name="(line76)"></a>        skipn syms' retain ud xs' <font color=Red>=</font>
-<a name="(line77)"></a>            <font color=Green><u>let</u></font> n <font color=Red>=</font> <font color=Magenta>1</font> <font color=Cyan>+</font> length <font color=Cyan>(</font>filter <font color=Cyan>(</font><font color=Cyan>==</font><font color=Magenta>'\n'</font><font color=Cyan>)</font> l<font color=Cyan>)</font> <font color=Green><u>in</u></font>
-<a name="(line78)"></a>            <font color=Cyan>(</font><font color=Green><u>if</u></font> macros options <font color=Cyan>&amp;&amp;</font> retain <font color=Green><u>then</u></font> <font color=Cyan>(</font><font color=Cyan>(</font>p<font color=Cyan>,</font>reslash l<font color=Cyan>)</font><font color=Red><b>:</b></font><font color=Cyan>)</font>
-<a name="(line79)"></a>                                         <font color=Green><u>else</u></font> <font color=Cyan>(</font>replicate n <font color=Cyan>(</font>p<font color=Cyan>,</font><font color=Magenta>""</font><font color=Cyan>)</font> <font color=Cyan>++</font><font color=Cyan>)</font><font color=Cyan>)</font> <font color=Cyan>$</font>
-<a name="(line80)"></a>            cpp <font color=Cyan>(</font>newlines n p<font color=Cyan>)</font> syms' path options ud xs'
-<a name="(line81)"></a>    <font color=Green><u>in</u></font> <font color=Green><u>case</u></font> cmd <font color=Green><u>of</u></font>
-<a name="(line82)"></a>	<font color=Magenta>"define"</font> <font color=Red>-&gt;</font> skipn <font color=Cyan>(</font>insertST def syms<font color=Cyan>)</font> True Keep xs
-<a name="(line83)"></a>	<font color=Magenta>"undef"</font>  <font color=Red>-&gt;</font> skipn <font color=Cyan>(</font>deleteST sym syms<font color=Cyan>)</font> True Keep xs
-<a name="(line84)"></a>	<font color=Magenta>"ifndef"</font> <font color=Red>-&gt;</font> skipn syms False <font color=Cyan>(</font>keepIf <font color=Cyan>(</font>not <font color=Cyan>(</font>definedST sym syms<font color=Cyan>)</font><font color=Cyan>)</font><font color=Cyan>)</font> xs
-<a name="(line85)"></a>	<font color=Magenta>"ifdef"</font>  <font color=Red>-&gt;</font> skipn syms False <font color=Cyan>(</font>keepIf      <font color=Cyan>(</font>definedST sym syms<font color=Cyan>)</font><font color=Cyan>)</font> xs
-<a name="(line86)"></a>	<font color=Magenta>"if"</font>     <font color=Red>-&gt;</font> skipn syms False
-<a name="(line87)"></a>                               <font color=Cyan>(</font>keepIf <font color=Cyan>(</font>gatherDefined p syms <font color=Cyan>(</font>unwords line<font color=Cyan>)</font><font color=Cyan>)</font><font color=Cyan>)</font> xs
-<a name="(line88)"></a>	<font color=Magenta>"else"</font>   <font color=Red>-&gt;</font> skipn syms False <font color=Cyan>(</font>Drop <font color=Magenta>1</font> False<font color=Cyan>)</font> xs
-<a name="(line89)"></a>	<font color=Magenta>"elif"</font>   <font color=Red>-&gt;</font> skipn syms False <font color=Cyan>(</font>Drop <font color=Magenta>1</font> True<font color=Cyan>)</font> xs
-<a name="(line90)"></a>	<font color=Magenta>"endif"</font>  <font color=Red>-&gt;</font> skipn syms False  Keep xs
-<a name="(line91)"></a>	<font color=Magenta>"pragma"</font> <font color=Red>-&gt;</font> skipn syms True   Keep xs
-<a name="(line92)"></a>        <font color=Cyan>(</font><font color=Magenta>'!'</font><font color=Red><b>:</b></font><font color=Green><u>_</u></font><font color=Cyan>)</font>  <font color=Red>-&gt;</font> skipn syms False  Keep xs	<font color=Blue>-- \#!runhs scripts</font>
-<a name="(line93)"></a>	<font color=Magenta>"include"</font><font color=Red>-&gt;</font> <font color=Green><u>let</u></font> <font color=Cyan>(</font>inc<font color=Cyan>,</font>content<font color=Cyan>)</font> <font color=Red>=</font>
-<a name="(line94)"></a>	                  unsafePerformIO <font color=Cyan>(</font>readFirst <font color=Cyan>(</font>file syms <font color=Cyan>(</font>unwords line<font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="(line95)"></a>                                                     p path
-<a name="(line96)"></a>                                                     <font color=Cyan>(</font>warnings options<font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="(line97)"></a>	            <font color=Green><u>in</u></font>
-<a name="(line98)"></a>		    cpp p syms path options Keep <font color=Cyan>(</font><font color=Cyan>(</font><font color=Magenta>"#line 1 "</font><font color=Cyan>++</font>show inc<font color=Cyan>)</font>
-<a name="(line99)"></a>                                                  <font color=Red><b>:</b></font> linesCpp content
-<a name="(line100)"></a>                                                  <font color=Cyan>++</font> cppline <font color=Cyan>(</font>newline p<font color=Cyan>)</font><font color=Red><b>:</b></font> xs<font color=Cyan>)</font>
-<a name="(line101)"></a>	<font color=Magenta>"warning"</font><font color=Red>-&gt;</font> <font color=Green><u>if</u></font> warnings options <font color=Green><u>then</u></font> unsafePerformIO <font color=Cyan>$</font> <font color=Green><u>do</u></font>
-<a name="(line102)"></a>                       hPutStrLn stderr <font color=Cyan>(</font>l<font color=Cyan>++</font><font color=Magenta>"\nin "</font><font color=Cyan>++</font>show p<font color=Cyan>)</font>
-<a name="(line103)"></a>                       return <font color=Cyan>$</font> skipn syms False Keep xs
-<a name="(line104)"></a>                    <font color=Green><u>else</u></font> skipn syms False Keep xs
-<a name="(line105)"></a>	<font color=Magenta>"error"</font>  <font color=Red>-&gt;</font> error <font color=Cyan>(</font>l<font color=Cyan>++</font><font color=Magenta>"\nin "</font><font color=Cyan>++</font>show p<font color=Cyan>)</font>
-<a name="(line106)"></a>	<font color=Magenta>"line"</font>   <font color=Red>|</font> all isDigit sym
-<a name="(line107)"></a>	         <font color=Red>-&gt;</font> <font color=Cyan>(</font><font color=Green><u>if</u></font> locations options <font color=Green><u>then</u></font> <font color=Cyan>(</font><font color=Cyan>(</font>p<font color=Cyan>,</font>l<font color=Cyan>)</font><font color=Red><b>:</b></font><font color=Cyan>)</font> <font color=Green><u>else</u></font> id<font color=Cyan>)</font> <font color=Cyan>$</font>
-<a name="(line108)"></a>                    cpp <font color=Cyan>(</font>newpos <font color=Cyan>(</font>read sym<font color=Cyan>)</font> <font color=Cyan>(</font>un rest<font color=Cyan>)</font> p<font color=Cyan>)</font>
-<a name="(line109)"></a>                        syms path options Keep xs
-<a name="(line110)"></a>	n <font color=Red>|</font> all isDigit n
-<a name="(line111)"></a>	         <font color=Red>-&gt;</font> <font color=Cyan>(</font><font color=Green><u>if</u></font> locations options <font color=Green><u>then</u></font> <font color=Cyan>(</font><font color=Cyan>(</font>p<font color=Cyan>,</font>l<font color=Cyan>)</font><font color=Red><b>:</b></font><font color=Cyan>)</font> <font color=Green><u>else</u></font> id<font color=Cyan>)</font> <font color=Cyan>$</font>
-<a name="(line112)"></a>	            cpp <font color=Cyan>(</font>newpos <font color=Cyan>(</font>read n<font color=Cyan>)</font> <font color=Cyan>(</font>un <font color=Cyan>(</font>tail ws<font color=Cyan>)</font><font color=Cyan>)</font> p<font color=Cyan>)</font>
-<a name="(line113)"></a>                        syms path options Keep xs
-<a name="(line114)"></a>          <font color=Red>|</font> otherwise
-<a name="(line115)"></a>	         <font color=Red>-&gt;</font> <font color=Green><u>if</u></font> warnings options <font color=Green><u>then</u></font> unsafePerformIO <font color=Cyan>$</font> <font color=Green><u>do</u></font>
-<a name="(line116)"></a>                       hPutStrLn stderr <font color=Cyan>(</font><font color=Magenta>"Warning: unknown directive #"</font><font color=Cyan>++</font>n
-<a name="(line117)"></a>                                        <font color=Cyan>++</font><font color=Magenta>"\nin "</font><font color=Cyan>++</font>show p<font color=Cyan>)</font>
-<a name="(line118)"></a>                       return <font color=Cyan>$</font>
-<a name="(line119)"></a>                         <font color=Cyan>(</font><font color=Cyan>(</font>p<font color=Cyan>,</font>l<font color=Cyan>)</font><font color=Red><b>:</b></font> cpp <font color=Cyan>(</font>newline p<font color=Cyan>)</font> syms path options Keep xs<font color=Cyan>)</font>
-<a name="(line120)"></a>                    <font color=Green><u>else</u></font>
-<a name="(line121)"></a>                         <font color=Cyan>(</font><font color=Cyan>(</font>p<font color=Cyan>,</font>l<font color=Cyan>)</font><font color=Red><b>:</b></font> cpp <font color=Cyan>(</font>newline p<font color=Cyan>)</font> syms path options Keep xs<font color=Cyan>)</font>
-<a name="(line122)"></a>
-<a name="(line123)"></a>cpp p syms path options <font color=Cyan>(</font>Drop n b<font color=Cyan>)</font> <font color=Cyan>(</font><font color=Cyan>(</font><font color=Magenta>'#'</font><font color=Red><b>:</b></font>x<font color=Cyan>)</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font>
-<a name="(line124)"></a>    <font color=Green><u>let</u></font> ws <font color=Red>=</font> words x
-<a name="(line125)"></a>        cmd <font color=Red>=</font> head ws
-<a name="(line126)"></a>        delse    <font color=Red>|</font> n<font color=Cyan>==</font><font color=Magenta>1</font> <font color=Cyan>&amp;&amp;</font> b <font color=Red>=</font> Drop <font color=Magenta>1</font> b
-<a name="(line127)"></a>                 <font color=Red>|</font> n<font color=Cyan>==</font><font color=Magenta>1</font>      <font color=Red>=</font> Keep
-<a name="(line128)"></a>                 <font color=Red>|</font> otherwise <font color=Red>=</font> Drop n b
-<a name="(line129)"></a>        dend     <font color=Red>|</font> n<font color=Cyan>==</font><font color=Magenta>1</font>      <font color=Red>=</font> Keep
-<a name="(line130)"></a>                 <font color=Red>|</font> otherwise <font color=Red>=</font> Drop <font color=Cyan>(</font>n<font color=Blue>-</font><font color=Magenta>1</font><font color=Cyan>)</font> b
-<a name="(line131)"></a>        delif s  <font color=Red>|</font> n<font color=Cyan>==</font><font color=Magenta>1</font> <font color=Cyan>&amp;&amp;</font> not b <font color=Cyan>&amp;&amp;</font> gatherDefined p syms s
-<a name="(line132)"></a>                             <font color=Red>=</font> Keep
-<a name="(line133)"></a>                 <font color=Red>|</font> otherwise <font color=Red>=</font> Drop n b
-<a name="(line134)"></a>        skipn ud xs' <font color=Red>=</font>
-<a name="(line135)"></a>                 <font color=Green><u>let</u></font> n' <font color=Red>=</font> <font color=Magenta>1</font> <font color=Cyan>+</font> length <font color=Cyan>(</font>filter <font color=Cyan>(</font><font color=Cyan>==</font><font color=Magenta>'\n'</font><font color=Cyan>)</font> x<font color=Cyan>)</font> <font color=Green><u>in</u></font>
-<a name="(line136)"></a>                 replicate n' <font color=Cyan>(</font>p<font color=Cyan>,</font><font color=Magenta>""</font><font color=Cyan>)</font>
-<a name="(line137)"></a>                 <font color=Cyan>++</font> cpp <font color=Cyan>(</font>newlines n' p<font color=Cyan>)</font> syms path options ud xs'
-<a name="(line138)"></a>    <font color=Green><u>in</u></font>
-<a name="(line139)"></a>    <font color=Green><u>if</u></font>      cmd <font color=Cyan>==</font> <font color=Magenta>"ifndef"</font> <font color=Cyan>||</font>
-<a name="(line140)"></a>            cmd <font color=Cyan>==</font> <font color=Magenta>"if"</font>     <font color=Cyan>||</font>
-<a name="(line141)"></a>            cmd <font color=Cyan>==</font> <font color=Magenta>"ifdef"</font>  <font color=Green><u>then</u></font>  skipn <font color=Cyan>(</font>Drop <font color=Cyan>(</font>n<font color=Cyan>+</font><font color=Magenta>1</font><font color=Cyan>)</font> b<font color=Cyan>)</font> xs
-<a name="(line142)"></a>    <font color=Green><u>else</u></font> <font color=Green><u>if</u></font> cmd <font color=Cyan>==</font> <font color=Magenta>"elif"</font>   <font color=Green><u>then</u></font>  skipn <font color=Cyan>(</font>delif <font color=Cyan>(</font>unwords <font color=Cyan>(</font>tail ws<font color=Cyan>)</font><font color=Cyan>)</font><font color=Cyan>)</font> xs
-<a name="(line143)"></a>    <font color=Green><u>else</u></font> <font color=Green><u>if</u></font> cmd <font color=Cyan>==</font> <font color=Magenta>"else"</font>   <font color=Green><u>then</u></font>  skipn  delse xs
-<a name="(line144)"></a>    <font color=Green><u>else</u></font> <font color=Green><u>if</u></font> cmd <font color=Cyan>==</font> <font color=Magenta>"endif"</font>  <font color=Green><u>then</u></font>  skipn  dend  xs
-<a name="(line145)"></a>    <font color=Green><u>else</u></font> skipn <font color=Cyan>(</font>Drop n b<font color=Cyan>)</font> xs
-<a name="(line146)"></a>	<font color=Blue>-- define, undef, include, error, warning, pragma, line</font>
-<a name="(line147)"></a>
-<a name="(line148)"></a>cpp p syms path options Keep <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font>
-<a name="(line149)"></a>    <font color=Green><u>let</u></font> p' <font color=Red>=</font> newline p <font color=Green><u>in</u></font> seq p' <font color=Cyan>$</font>
-<a name="(line150)"></a>    <font color=Cyan>(</font>p<font color=Cyan>,</font>x<font color=Cyan>)</font><font color=Red><b>:</b></font>  cpp p' syms path options Keep xs
-<a name="(line151)"></a>cpp p syms path options d<font color=Red>@</font><font color=Cyan>(</font>Drop <font color=Green><u>_</u></font> <font color=Green><u>_</u></font><font color=Cyan>)</font> <font color=Cyan>(</font><font color=Green><u>_</u></font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font>
-<a name="(line152)"></a>    <font color=Green><u>let</u></font> p' <font color=Red>=</font> newline p <font color=Green><u>in</u></font> seq p' <font color=Cyan>$</font>
-<a name="(line153)"></a>    <font color=Cyan>(</font>p<font color=Cyan>,</font><font color=Magenta>""</font><font color=Cyan>)</font><font color=Red><b>:</b></font> cpp p' syms path options d xs
-<a name="(line154)"></a>
-<a name="(line155)"></a>
-<a name="(line156)"></a><a name="gatherDefined"></a><font color=Blue>----</font>
-<a name="(line157)"></a>gatherDefined <font color=Red>::</font> Posn <font color=Red>-&gt;</font> SymTab HashDefine <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> Bool
-<a name="(line158)"></a>gatherDefined p st inp <font color=Red>=</font>
-<a name="(line159)"></a>  <font color=Green><u>case</u></font> papply <font color=Cyan>(</font>parseBoolExp st<font color=Cyan>)</font> inp <font color=Green><u>of</u></font>
-<a name="(line160)"></a>    []      <font color=Red>-&gt;</font> error <font color=Cyan>(</font><font color=Magenta>"Cannot parse #if directive in file "</font><font color=Cyan>++</font>show p<font color=Cyan>)</font>
-<a name="(line161)"></a>    <font color=Red>[</font><font color=Cyan>(</font>b<font color=Cyan>,</font><font color=Green><u>_</u></font><font color=Cyan>)</font><font color=Red>]</font> <font color=Red>-&gt;</font> b
-<a name="(line162)"></a>    <font color=Green><u>_</u></font>       <font color=Red>-&gt;</font> error <font color=Cyan>(</font><font color=Magenta>"Ambiguous parse for #if directive in file "</font><font color=Cyan>++</font>show p<font color=Cyan>)</font>
-<a name="(line163)"></a>
-<a name="(line164)"></a><a name="parseBoolExp"></a>parseBoolExp <font color=Red>::</font> SymTab HashDefine <font color=Red>-&gt;</font> Parser Bool
-<a name="(line165)"></a>parseBoolExp st <font color=Red>=</font>
-<a name="(line166)"></a>  <font color=Green><u>do</u></font>  a <font color=Red>&lt;-</font> parseExp1 st
-<a name="(line167)"></a>      skip <font color=Cyan>(</font>string <font color=Magenta>"||"</font><font color=Cyan>)</font>
-<a name="(line168)"></a>      b <font color=Red>&lt;-</font> first <font color=Cyan>(</font>skip <font color=Cyan>(</font>parseBoolExp st<font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="(line169)"></a>      return <font color=Cyan>(</font>a <font color=Cyan>||</font> b<font color=Cyan>)</font>
-<a name="(line170)"></a>  <font color=Cyan>+++</font>
-<a name="(line171)"></a>      parseExp1 st
-<a name="(line172)"></a>
-<a name="(line173)"></a><a name="parseExp1"></a>parseExp1 <font color=Red>::</font> SymTab HashDefine <font color=Red>-&gt;</font> Parser Bool
-<a name="(line174)"></a>parseExp1 st <font color=Red>=</font>
-<a name="(line175)"></a>  <font color=Green><u>do</u></font>  a <font color=Red>&lt;-</font> parseExp0 st
-<a name="(line176)"></a>      skip <font color=Cyan>(</font>string <font color=Magenta>"&amp;&amp;"</font><font color=Cyan>)</font>
-<a name="(line177)"></a>      b <font color=Red>&lt;-</font> first <font color=Cyan>(</font>skip <font color=Cyan>(</font>parseExp1 st<font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="(line178)"></a>      return <font color=Cyan>(</font>a <font color=Cyan>&amp;&amp;</font> b<font color=Cyan>)</font>
-<a name="(line179)"></a>  <font color=Cyan>+++</font>
-<a name="(line180)"></a>      parseExp0 st
-<a name="(line181)"></a>
-<a name="(line182)"></a><a name="parseExp0"></a>parseExp0 <font color=Red>::</font> SymTab HashDefine <font color=Red>-&gt;</font> Parser Bool
-<a name="(line183)"></a>parseExp0 st <font color=Red>=</font>
-<a name="(line184)"></a>  <font color=Green><u>do</u></font>  skip <font color=Cyan>(</font>string <font color=Magenta>"defined"</font><font color=Cyan>)</font>
-<a name="(line185)"></a>      sym <font color=Red>&lt;-</font> parens parseSym
-<a name="(line186)"></a>      return <font color=Cyan>(</font>definedST sym st<font color=Cyan>)</font>
-<a name="(line187)"></a>  <font color=Cyan>+++</font>
-<a name="(line188)"></a>  <font color=Green><u>do</u></font>  parens <font color=Cyan>(</font>parseBoolExp st<font color=Cyan>)</font>
-<a name="(line189)"></a>  <font color=Cyan>+++</font>
-<a name="(line190)"></a>  <font color=Green><u>do</u></font>  skip <font color=Cyan>(</font>char <font color=Magenta>'!'</font><font color=Cyan>)</font>
-<a name="(line191)"></a>      a <font color=Red>&lt;-</font> parseExp0 st
-<a name="(line192)"></a>      return <font color=Cyan>(</font>not a<font color=Cyan>)</font>
-<a name="(line193)"></a>  <font color=Cyan>+++</font>
-<a name="(line194)"></a>  <font color=Green><u>do</u></font>  sym1 <font color=Red>&lt;-</font> parseSymOrCall st
-<a name="(line195)"></a>      op <font color=Red>&lt;-</font> parseOp st
-<a name="(line196)"></a>      sym2 <font color=Red>&lt;-</font> parseSymOrCall st
-<a name="(line197)"></a>      return <font color=Cyan>(</font>op <font color=Cyan>(</font>safeRead sym1<font color=Cyan>)</font> <font color=Cyan>(</font>safeRead sym2<font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="(line198)"></a>  <font color=Cyan>+++</font>
-<a name="(line199)"></a>  <font color=Green><u>do</u></font>  sym <font color=Red>&lt;-</font> parseSymOrCall st
-<a name="(line200)"></a>      <font color=Green><u>case</u></font> safeRead sym <font color=Green><u>of</u></font>
-<a name="(line201)"></a>        <font color=Magenta>0</font> <font color=Red>-&gt;</font> return False
-<a name="(line202)"></a>        <font color=Green><u>_</u></font> <font color=Red>-&gt;</font> return True
-<a name="(line203)"></a>  <font color=Green><u>where</u></font>
-<a name="(line204)"></a>    safeRead s <font color=Red>=</font>
-<a name="(line205)"></a>      <font color=Green><u>case</u></font> s <font color=Green><u>of</u></font>
-<a name="(line206)"></a>        <font color=Magenta>'0'</font><font color=Red><b>:</b></font><font color=Magenta>'x'</font><font color=Red><b>:</b></font>s' <font color=Red>-&gt;</font> number readHex s'
-<a name="(line207)"></a>        <font color=Magenta>'0'</font><font color=Red><b>:</b></font><font color=Magenta>'o'</font><font color=Red><b>:</b></font>s' <font color=Red>-&gt;</font> number readOct s'
-<a name="(line208)"></a>        <font color=Green><u>_</u></font>          <font color=Red>-&gt;</font> number readDec s
-<a name="(line209)"></a>    number rd s <font color=Red>=</font>
-<a name="(line210)"></a>      <font color=Green><u>case</u></font> rd s <font color=Green><u>of</u></font>
-<a name="(line211)"></a>        []        <font color=Red>-&gt;</font> <font color=Magenta>0</font> <font color=Red>::</font> Integer
-<a name="(line212)"></a>        <font color=Cyan>(</font><font color=Cyan>(</font>n<font color=Cyan>,</font><font color=Green><u>_</u></font><font color=Cyan>)</font><font color=Red><b>:</b></font><font color=Green><u>_</u></font><font color=Cyan>)</font> <font color=Red>-&gt;</font> n <font color=Red>::</font> Integer
-<a name="(line213)"></a>
-<a name="(line214)"></a><a name="parseOp"></a>parseOp <font color=Red>::</font> SymTab HashDefine <font color=Red>-&gt;</font> Parser <font color=Cyan>(</font>Integer <font color=Red>-&gt;</font> Integer <font color=Red>-&gt;</font> Bool<font color=Cyan>)</font>
-<a name="(line215)"></a>parseOp <font color=Green><u>_</u></font> <font color=Red>=</font>
-<a name="(line216)"></a>  <font color=Green><u>do</u></font>  skip <font color=Cyan>(</font>string <font color=Magenta>"&gt;="</font><font color=Cyan>)</font>
-<a name="(line217)"></a>      return <font color=Cyan>(</font><font color=Cyan>&gt;=</font><font color=Cyan>)</font>
-<a name="(line218)"></a>  <font color=Cyan>+++</font>
-<a name="(line219)"></a>  <font color=Green><u>do</u></font>  skip <font color=Cyan>(</font>char <font color=Magenta>'&gt;'</font><font color=Cyan>)</font>
-<a name="(line220)"></a>      return <font color=Cyan>(</font><font color=Cyan>&gt;</font><font color=Cyan>)</font>
-<a name="(line221)"></a>  <font color=Cyan>+++</font>
-<a name="(line222)"></a>  <font color=Green><u>do</u></font>  skip <font color=Cyan>(</font>string <font color=Magenta>"&lt;="</font><font color=Cyan>)</font>
-<a name="(line223)"></a>      return <font color=Cyan>(</font><font color=Cyan>&lt;=</font><font color=Cyan>)</font>
-<a name="(line224)"></a>  <font color=Cyan>+++</font>
-<a name="(line225)"></a>  <font color=Green><u>do</u></font>  skip <font color=Cyan>(</font>char <font color=Magenta>'&lt;'</font><font color=Cyan>)</font>
-<a name="(line226)"></a>      return <font color=Cyan>(</font><font color=Cyan>&lt;</font><font color=Cyan>)</font>
-<a name="(line227)"></a>  <font color=Cyan>+++</font>
-<a name="(line228)"></a>  <font color=Green><u>do</u></font>  skip <font color=Cyan>(</font>string <font color=Magenta>"=="</font><font color=Cyan>)</font>
-<a name="(line229)"></a>      return <font color=Cyan>(</font><font color=Cyan>==</font><font color=Cyan>)</font>
-<a name="(line230)"></a>  <font color=Cyan>+++</font>
-<a name="(line231)"></a>  <font color=Green><u>do</u></font>  skip <font color=Cyan>(</font>string <font color=Magenta>"!="</font><font color=Cyan>)</font>
-<a name="(line232)"></a>      return <font color=Cyan>(</font><font color=Cyan>/=</font><font color=Cyan>)</font>
-<a name="(line233)"></a>
-<a name="(line234)"></a><a name="parseSymOrCall"></a>parseSymOrCall <font color=Red>::</font> SymTab HashDefine <font color=Red>-&gt;</font> Parser String
-<a name="(line235)"></a>parseSymOrCall st <font color=Red>=</font>
-<a name="(line236)"></a>  <font color=Green><u>do</u></font>  sym <font color=Red>&lt;-</font> skip parseSym
-<a name="(line237)"></a>      args <font color=Red>&lt;-</font> parens <font color=Cyan>(</font>parseSymOrCall st <font color=Cyan>`sepby`</font> skip <font color=Cyan>(</font>char <font color=Magenta>','</font><font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="(line238)"></a>      return <font color=Cyan>(</font>convert sym args<font color=Cyan>)</font>
-<a name="(line239)"></a>  <font color=Cyan>+++</font>
-<a name="(line240)"></a>  <font color=Green><u>do</u></font>  sym <font color=Red>&lt;-</font> skip parseSym
-<a name="(line241)"></a>      return <font color=Cyan>(</font>convert sym []<font color=Cyan>)</font>
-<a name="(line242)"></a>  <font color=Green><u>where</u></font>
-<a name="(line243)"></a>    convert sym args <font color=Red>=</font>
-<a name="(line244)"></a>      <font color=Green><u>case</u></font> lookupST sym st <font color=Green><u>of</u></font>
-<a name="(line245)"></a>        Nothing  <font color=Red>-&gt;</font> sym
-<a name="(line246)"></a>        Just <font color=Cyan>(</font>a<font color=Red>@</font>SymbolReplacement<font color=Cyan>{</font><font color=Cyan>}</font><font color=Cyan>)</font> <font color=Red>-&gt;</font> recursivelyExpand st <font color=Cyan>(</font>replacement a<font color=Cyan>)</font>
-<a name="(line247)"></a>        Just <font color=Cyan>(</font>a<font color=Red>@</font>MacroExpansion<font color=Cyan>{</font><font color=Cyan>}</font><font color=Cyan>)</font>    <font color=Red>-&gt;</font> expandMacro a args False
-<a name="(line248)"></a>
-<a name="(line249)"></a><a name="recursivelyExpand"></a>recursivelyExpand <font color=Red>::</font> SymTab HashDefine <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> String
-<a name="(line250)"></a>recursivelyExpand st inp <font color=Red>=</font>
-<a name="(line251)"></a>  <font color=Green><u>case</u></font> papply <font color=Cyan>(</font>parseSymOrCall st<font color=Cyan>)</font> inp <font color=Green><u>of</u></font>
-<a name="(line252)"></a>    <font color=Red>[</font><font color=Cyan>(</font>b<font color=Cyan>,</font><font color=Green><u>_</u></font><font color=Cyan>)</font><font color=Red>]</font> <font color=Red>-&gt;</font> b
-<a name="(line253)"></a>    <font color=Green><u>_</u></font>       <font color=Red>-&gt;</font> inp
-<a name="(line254)"></a>
-<a name="(line255)"></a><a name="parseSym"></a>parseSym <font color=Red>::</font> Parser String
-<a name="(line256)"></a>parseSym <font color=Red>=</font> many1 <font color=Cyan>(</font>alphanum<font color=Cyan>+++</font>char <font color=Magenta>'\''</font><font color=Cyan>+++</font>char <font color=Magenta>'`'</font><font color=Cyan>)</font>
-<a name="(line257)"></a>
-<a name="(line258)"></a><a name="parens"></a>parens p <font color=Red>=</font> bracket <font color=Cyan>(</font>skip <font color=Cyan>(</font>char <font color=Magenta>'('</font><font color=Cyan>)</font><font color=Cyan>)</font> <font color=Cyan>(</font>skip p<font color=Cyan>)</font> <font color=Cyan>(</font>skip <font color=Cyan>(</font>char <font color=Magenta>')'</font><font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="(line259)"></a>
-<a name="(line260)"></a><a name="file"></a><font color=Blue>-- | Determine filename in \#include</font>
-<a name="(line261)"></a>file <font color=Red>::</font> SymTab HashDefine <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> String
-<a name="(line262)"></a>file st name <font color=Red>=</font>
-<a name="(line263)"></a>    <font color=Green><u>case</u></font> name <font color=Green><u>of</u></font>
-<a name="(line264)"></a>      <font color=Cyan>(</font><font color=Magenta>'"'</font><font color=Red><b>:</b></font>ns<font color=Cyan>)</font> <font color=Red>-&gt;</font> init ns
-<a name="(line265)"></a>      <font color=Cyan>(</font><font color=Magenta>'&lt;'</font><font color=Red><b>:</b></font>ns<font color=Cyan>)</font> <font color=Red>-&gt;</font> init ns
-<a name="(line266)"></a>      <font color=Green><u>_</u></font> <font color=Red>-&gt;</font> <font color=Green><u>let</u></font> ex <font color=Red>=</font> recursivelyExpand st name <font color=Green><u>in</u></font>
-<a name="(line267)"></a>           <font color=Green><u>if</u></font> ex <font color=Cyan>==</font> name <font color=Green><u>then</u></font> name <font color=Green><u>else</u></font> file st ex
-</pre>
-</html>
diff --git a/docs/cpphs/Language/Preprocessor/Cpphs/HashDefine.html b/docs/cpphs/Language/Preprocessor/Cpphs/HashDefine.html
deleted file mode 100644
--- a/docs/cpphs/Language/Preprocessor/Cpphs/HashDefine.html
+++ /dev/null
@@ -1,111 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<pre><a name="(line1)"></a><font color=Blue>-----------------------------------------------------------------------------</font>
-<a name="(line2)"></a><font color=Blue>-- |</font>
-<a name="(line3)"></a><font color=Blue>-- Module      :  HashDefine</font>
-<a name="(line4)"></a><font color=Blue>-- Copyright   :  2004 Malcolm Wallace</font>
-<a name="(line5)"></a><font color=Blue>-- Licence     :  LGPL</font>
-<a name="(line6)"></a><font color=Blue>--</font>
-<a name="(line7)"></a><font color=Blue>-- Maintainer  :  Malcolm Wallace &lt;Malcolm.Wallace@cs.york.ac.uk&gt;</font>
-<a name="(line8)"></a><font color=Blue>-- Stability   :  experimental</font>
-<a name="(line9)"></a><font color=Blue>-- Portability :  All</font>
-<a name="(line10)"></a><font color=Blue>--</font>
-<a name="(line11)"></a><font color=Blue>-- What structures are declared in a \#define.</font>
-<a name="(line12)"></a><font color=Blue>-----------------------------------------------------------------------------</font>
-<a name="(line13)"></a> 
-<a name="(line14)"></a><font color=Green><u>module</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>HashDefine
-<a name="(line15)"></a>  <font color=Cyan>(</font> HashDefine<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font>
-<a name="(line16)"></a>  <font color=Cyan>,</font> ArgOrText<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font>
-<a name="(line17)"></a>  <font color=Cyan>,</font> expandMacro
-<a name="(line18)"></a>  <font color=Cyan>,</font> parseHashDefine
-<a name="(line19)"></a>  <font color=Cyan>)</font> <font color=Green><u>where</u></font>
-<a name="(line20)"></a>
-<a name="(line21)"></a><font color=Green><u>import</u></font> Char <font color=Cyan>(</font>isSpace<font color=Cyan>)</font>
-<a name="(line22)"></a><font color=Green><u>import</u></font> List <font color=Cyan>(</font>intersperse<font color=Cyan>)</font>
-<a name="(line23)"></a>
-<a name="(line24)"></a><a name="HashDefine"></a><font color=Green><u>data</u></font> HashDefine
-<a name="(line25)"></a>	<font color=Red>=</font> LineDrop
-<a name="(line26)"></a>		<font color=Cyan>{</font> name <font color=Red>::</font> String <font color=Cyan>}</font>
-<a name="(line27)"></a>	<font color=Red>|</font> Pragma
-<a name="(line28)"></a>		<font color=Cyan>{</font> name <font color=Red>::</font> String <font color=Cyan>}</font>
-<a name="(line29)"></a>	<font color=Red>|</font> SymbolReplacement
-<a name="(line30)"></a>		<font color=Cyan>{</font> name		<font color=Red>::</font> String
-<a name="(line31)"></a>		<font color=Cyan>,</font> replacement	<font color=Red>::</font> String
-<a name="(line32)"></a>		<font color=Cyan>,</font> linebreaks    <font color=Red>::</font> Int
-<a name="(line33)"></a>		<font color=Cyan>}</font>
-<a name="(line34)"></a>	<font color=Red>|</font> MacroExpansion
-<a name="(line35)"></a>		<font color=Cyan>{</font> name		<font color=Red>::</font> String
-<a name="(line36)"></a>		<font color=Cyan>,</font> arguments	<font color=Red>::</font> <font color=Red>[</font>String<font color=Red>]</font>
-<a name="(line37)"></a>		<font color=Cyan>,</font> expansion	<font color=Red>::</font> <font color=Red>[</font><font color=Cyan>(</font>ArgOrText<font color=Cyan>,</font>String<font color=Cyan>)</font><font color=Red>]</font>
-<a name="(line38)"></a>		<font color=Cyan>,</font> linebreaks    <font color=Red>::</font> Int
-<a name="(line39)"></a>		<font color=Cyan>}</font>
-<a name="(line40)"></a>    <font color=Green><u>deriving</u></font> <font color=Cyan>(</font>Eq<font color=Cyan>,</font>Show<font color=Cyan>)</font>
-<a name="(line41)"></a>
-<a name="(line42)"></a><a name="symbolReplacement"></a><font color=Blue>-- | 'smart' constructor to avoid warnings from ghc (undefined fields)</font>
-<a name="(line43)"></a>symbolReplacement <font color=Red>::</font> HashDefine
-<a name="(line44)"></a>symbolReplacement <font color=Red>=</font>
-<a name="(line45)"></a>    SymbolReplacement
-<a name="(line46)"></a>	 <font color=Cyan>{</font> name<font color=Red>=</font>undefined<font color=Cyan>,</font> replacement<font color=Red>=</font>undefined<font color=Cyan>,</font> linebreaks<font color=Red>=</font>undefined <font color=Cyan>}</font>
-<a name="(line47)"></a>
-<a name="(line48)"></a><a name="ArgOrText"></a><font color=Blue>-- | Macro expansion text is divided into sections, each of which is classified</font>
-<a name="(line49)"></a><a name="ArgOrText"></a><font color=Blue>--   as one of three kinds: a formal argument (Arg), plain text (Text),</font>
-<a name="(line50)"></a><a name="ArgOrText"></a><font color=Blue>--   or a stringised formal argument (Str).</font>
-<a name="(line51)"></a><a name="ArgOrText"></a><font color=Green><u>data</u></font> ArgOrText <font color=Red>=</font> Arg <font color=Red>|</font> Text <font color=Red>|</font> Str <font color=Green><u>deriving</u></font> <font color=Cyan>(</font>Eq<font color=Cyan>,</font>Show<font color=Cyan>)</font>
-<a name="(line52)"></a>
-<a name="(line53)"></a><a name="expandMacro"></a><font color=Blue>-- | Expand an instance of a macro.</font>
-<a name="(line54)"></a><font color=Blue>--   Precondition: got a match on the macro name.</font>
-<a name="(line55)"></a>expandMacro <font color=Red>::</font> HashDefine <font color=Red>-&gt;</font> <font color=Red>[</font>String<font color=Red>]</font> <font color=Red>-&gt;</font> Bool <font color=Red>-&gt;</font> String
-<a name="(line56)"></a>expandMacro macro parameters layout <font color=Red>=</font>
-<a name="(line57)"></a>    <font color=Green><u>let</u></font> env <font color=Red>=</font> zip <font color=Cyan>(</font>arguments macro<font color=Cyan>)</font> parameters
-<a name="(line58)"></a>        replace <font color=Cyan>(</font>Arg<font color=Cyan>,</font>s<font color=Cyan>)</font>  <font color=Red>=</font> maybe <font color=Cyan>(</font>error <font color=Magenta>"formal param"</font><font color=Cyan>)</font> id <font color=Cyan>(</font>lookup s env<font color=Cyan>)</font>
-<a name="(line59)"></a>        replace <font color=Cyan>(</font>Str<font color=Cyan>,</font>s<font color=Cyan>)</font>  <font color=Red>=</font> maybe <font color=Cyan>(</font>error <font color=Magenta>"formal param"</font><font color=Cyan>)</font> str <font color=Cyan>(</font>lookup s env<font color=Cyan>)</font>
-<a name="(line60)"></a>        replace <font color=Cyan>(</font>Text<font color=Cyan>,</font>s<font color=Cyan>)</font> <font color=Red>=</font> <font color=Green><u>if</u></font> layout <font color=Green><u>then</u></font> s <font color=Green><u>else</u></font> filter <font color=Cyan>(</font><font color=Cyan>/=</font><font color=Magenta>'\n'</font><font color=Cyan>)</font> s
-<a name="(line61)"></a>        str s <font color=Red>=</font> <font color=Magenta>'"'</font><font color=Red><b>:</b></font>s<font color=Cyan>++</font><font color=Magenta>"\""</font>
-<a name="(line62)"></a>    <font color=Green><u>in</u></font>
-<a name="(line63)"></a>    concatMap replace <font color=Cyan>(</font>expansion macro<font color=Cyan>)</font>
-<a name="(line64)"></a>
-<a name="(line65)"></a><a name="parseHashDefine"></a><font color=Blue>-- | Parse a \#define, or \#undef, ignoring other \# directives</font>
-<a name="(line66)"></a>parseHashDefine <font color=Red>::</font> Bool <font color=Red>-&gt;</font> <font color=Red>[</font>String<font color=Red>]</font> <font color=Red>-&gt;</font> Maybe HashDefine
-<a name="(line67)"></a>parseHashDefine ansi def <font color=Red>=</font> <font color=Cyan>(</font>command <font color=Cyan>.</font> skip<font color=Cyan>)</font> def
-<a name="(line68)"></a>  <font color=Green><u>where</u></font>
-<a name="(line69)"></a>    skip xss<font color=Red>@</font><font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>|</font> all isSpace x <font color=Red>=</font> skip xs
-<a name="(line70)"></a>                    <font color=Red>|</font> otherwise     <font color=Red>=</font> xss
-<a name="(line71)"></a>    skip    []      <font color=Red>=</font> []
-<a name="(line72)"></a>    command <font color=Cyan>(</font><font color=Magenta>"line"</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>   <font color=Red>=</font> Just <font color=Cyan>(</font>LineDrop <font color=Cyan>(</font><font color=Magenta>"#line"</font><font color=Cyan>++</font>concat xs<font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="(line73)"></a>    command <font color=Cyan>(</font><font color=Magenta>"pragma"</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> Just <font color=Cyan>(</font>Pragma <font color=Cyan>(</font><font color=Magenta>"#pragma"</font><font color=Cyan>++</font>concat xs<font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="(line74)"></a>    command <font color=Cyan>(</font><font color=Magenta>"define"</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> Just <font color=Cyan>(</font><font color=Cyan>(</font><font color=Cyan>(</font>define <font color=Cyan>.</font> skip<font color=Cyan>)</font> xs<font color=Cyan>)</font> <font color=Cyan>{</font> linebreaks<font color=Red>=</font>count def <font color=Cyan>}</font><font color=Cyan>)</font>
-<a name="(line75)"></a>    command <font color=Cyan>(</font><font color=Magenta>"undef"</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>  <font color=Red>=</font> Just <font color=Cyan>(</font><font color=Cyan>(</font><font color=Cyan>(</font>undef  <font color=Cyan>.</font> skip<font color=Cyan>)</font> xs<font color=Cyan>)</font> <font color=Cyan>{</font> linebreaks<font color=Red>=</font>count def <font color=Cyan>}</font><font color=Cyan>)</font>
-<a name="(line76)"></a>    command <font color=Green><u>_</u></font>             <font color=Red>=</font> Nothing
-<a name="(line77)"></a>    undef  <font color=Cyan>(</font>sym<font color=Red><b>:</b></font><font color=Green><u>_</u></font><font color=Cyan>)</font>   <font color=Red>=</font> symbolReplacement <font color=Cyan>{</font> name<font color=Red>=</font>sym<font color=Cyan>,</font> replacement<font color=Red>=</font>sym <font color=Cyan>}</font>
-<a name="(line78)"></a>    define <font color=Cyan>(</font>sym<font color=Red><b>:</b></font>xs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Green><u>case</u></font> <font color=Blue>{-skip-}</font> xs <font color=Green><u>of</u></font>
-<a name="(line79)"></a>                           <font color=Cyan>(</font><font color=Magenta>"("</font><font color=Red><b>:</b></font>ys<font color=Cyan>)</font> <font color=Red>-&gt;</font> <font color=Cyan>(</font>macroHead sym [] <font color=Cyan>.</font> skip<font color=Cyan>)</font> ys
-<a name="(line80)"></a>                           ys   <font color=Red>-&gt;</font> symbolReplacement
-<a name="(line81)"></a>                                     <font color=Cyan>{</font> name<font color=Red>=</font>sym
-<a name="(line82)"></a>                                     <font color=Cyan>,</font> replacement <font color=Red>=</font> concatMap snd
-<a name="(line83)"></a>                                             <font color=Cyan>(</font>classifyRhs [] <font color=Cyan>(</font>chop <font color=Cyan>(</font>skip ys<font color=Cyan>)</font><font color=Cyan>)</font><font color=Cyan>)</font> <font color=Cyan>}</font>
-<a name="(line84)"></a>    macroHead sym args <font color=Cyan>(</font><font color=Magenta>","</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> <font color=Cyan>(</font>macroHead sym args <font color=Cyan>.</font> skip<font color=Cyan>)</font> xs
-<a name="(line85)"></a>    macroHead sym args <font color=Cyan>(</font><font color=Magenta>")"</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> MacroExpansion
-<a name="(line86)"></a>                                    <font color=Cyan>{</font> name <font color=Red>=</font>sym <font color=Cyan>,</font> arguments <font color=Red>=</font> reverse args
-<a name="(line87)"></a>                                    <font color=Cyan>,</font> expansion <font color=Red>=</font> classifyRhs args <font color=Cyan>(</font>skip xs<font color=Cyan>)</font>
-<a name="(line88)"></a>                                    <font color=Cyan>,</font> linebreaks <font color=Red>=</font> undefined <font color=Cyan>}</font>
-<a name="(line89)"></a>    macroHead sym args <font color=Cyan>(</font>var<font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> <font color=Cyan>(</font>macroHead sym <font color=Cyan>(</font>var<font color=Red><b>:</b></font>args<font color=Cyan>)</font> <font color=Cyan>.</font> skip<font color=Cyan>)</font> xs
-<a name="(line90)"></a>    macroHead sym args []       <font color=Red>=</font> error <font color=Cyan>(</font><font color=Magenta>"incomplete macro definition:\n"</font>
-<a name="(line91)"></a>                                        <font color=Cyan>++</font><font color=Magenta>"  #define "</font><font color=Cyan>++</font>sym<font color=Cyan>++</font><font color=Magenta>"("</font>
-<a name="(line92)"></a>                                        <font color=Cyan>++</font>concat <font color=Cyan>(</font>intersperse <font color=Magenta>","</font> args<font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="(line93)"></a>    classifyRhs args <font color=Cyan>(</font><font color=Magenta>"#"</font><font color=Red><b>:</b></font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font>
-<a name="(line94)"></a>                          <font color=Red>|</font> ansi <font color=Cyan>&amp;&amp;</font>
-<a name="(line95)"></a>                            x <font color=Cyan>`elem`</font> args    <font color=Red>=</font> <font color=Cyan>(</font>Str<font color=Cyan>,</font>x<font color=Cyan>)</font><font color=Red><b>:</b></font> classifyRhs args xs
-<a name="(line96)"></a>    classifyRhs args <font color=Cyan>(</font><font color=Magenta>"##"</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>
-<a name="(line97)"></a>                          <font color=Red>|</font> ansi             <font color=Red>=</font> classifyRhs args xs
-<a name="(line98)"></a>    classifyRhs args <font color=Cyan>(</font>s<font color=Red><b>:</b></font><font color=Magenta>"##"</font><font color=Red><b>:</b></font>s'<font color=Red><b>:</b></font>xs<font color=Cyan>)</font>
-<a name="(line99)"></a>                          <font color=Red>|</font> ansi <font color=Cyan>&amp;&amp;</font> all isSpace s <font color=Cyan>&amp;&amp;</font> all isSpace s'
-<a name="(line100)"></a>                                             <font color=Red>=</font> classifyRhs args xs
-<a name="(line101)"></a>    classifyRhs args <font color=Cyan>(</font>word<font color=Red><b>:</b></font>xs<font color=Cyan>)</font>
-<a name="(line102)"></a>                          <font color=Red>|</font> word <font color=Cyan>`elem`</font> args <font color=Red>=</font> <font color=Cyan>(</font>Arg<font color=Cyan>,</font>word<font color=Cyan>)</font><font color=Red><b>:</b></font> classifyRhs args xs
-<a name="(line103)"></a>                          <font color=Red>|</font> otherwise        <font color=Red>=</font> <font color=Cyan>(</font>Text<font color=Cyan>,</font>word<font color=Cyan>)</font><font color=Red><b>:</b></font> classifyRhs args xs
-<a name="(line104)"></a>    classifyRhs <font color=Green><u>_</u></font>    []                      <font color=Red>=</font> []
-<a name="(line105)"></a>    count <font color=Red>=</font> length <font color=Cyan>.</font> filter <font color=Cyan>(</font><font color=Cyan>==</font><font color=Magenta>'\n'</font><font color=Cyan>)</font> <font color=Cyan>.</font> concat
-<a name="(line106)"></a>    chop  <font color=Red>=</font> reverse <font color=Cyan>.</font> dropWhile <font color=Cyan>(</font>all isSpace<font color=Cyan>)</font> <font color=Cyan>.</font> reverse
-<a name="(line107)"></a>
-</pre>
-</html>
diff --git a/docs/cpphs/Language/Preprocessor/Cpphs/MacroPass.html b/docs/cpphs/Language/Preprocessor/Cpphs/MacroPass.html
deleted file mode 100644
--- a/docs/cpphs/Language/Preprocessor/Cpphs/MacroPass.html
+++ /dev/null
@@ -1,133 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<pre><a name="(line1)"></a><font color=Blue>-----------------------------------------------------------------------------</font>
-<a name="(line2)"></a><font color=Blue>-- |</font>
-<a name="(line3)"></a><font color=Blue>-- Module      :  MacroPass</font>
-<a name="(line4)"></a><font color=Blue>-- Copyright   :  2004 Malcolm Wallace</font>
-<a name="(line5)"></a><font color=Blue>-- Licence     :  LGPL</font>
-<a name="(line6)"></a><font color=Blue>--</font>
-<a name="(line7)"></a><font color=Blue>-- Maintainer  :  Malcolm Wallace &lt;Malcolm.Wallace@cs.york.ac.uk&gt;</font>
-<a name="(line8)"></a><font color=Blue>-- Stability   :  experimental</font>
-<a name="(line9)"></a><font color=Blue>-- Portability :  All</font>
-<a name="(line10)"></a><font color=Blue>--</font>
-<a name="(line11)"></a><font color=Blue>-- Perform a cpp.second-pass, accumulating \#define's and \#undef's,</font>
-<a name="(line12)"></a><font color=Blue>-- whilst doing symbol replacement and macro expansion.</font>
-<a name="(line13)"></a><font color=Blue>-----------------------------------------------------------------------------</font>
-<a name="(line14)"></a>
-<a name="(line15)"></a><font color=Green><u>module</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>MacroPass
-<a name="(line16)"></a>  <font color=Cyan>(</font> macroPass
-<a name="(line17)"></a>  <font color=Cyan>,</font> preDefine
-<a name="(line18)"></a>  <font color=Cyan>,</font> defineMacro
-<a name="(line19)"></a>  <font color=Cyan>)</font> <font color=Green><u>where</u></font>
-<a name="(line20)"></a>
-<a name="(line21)"></a><font color=Green><u>import</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>HashDefine <font color=Cyan>(</font>HashDefine<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font><font color=Cyan>,</font> expandMacro<font color=Cyan>)</font>
-<a name="(line22)"></a><font color=Green><u>import</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>Tokenise   <font color=Cyan>(</font>tokenise<font color=Cyan>,</font> WordStyle<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font>
-<a name="(line23)"></a>                                              <font color=Cyan>,</font> parseMacroCall<font color=Cyan>)</font>
-<a name="(line24)"></a><font color=Green><u>import</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>SymTab     <font color=Cyan>(</font>SymTab<font color=Cyan>,</font> lookupST<font color=Cyan>,</font> insertST
-<a name="(line25)"></a>                                              <font color=Cyan>,</font> emptyST<font color=Cyan>)</font>
-<a name="(line26)"></a><font color=Green><u>import</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>Position   <font color=Cyan>(</font>Posn<font color=Cyan>,</font> newfile<font color=Cyan>,</font> filename<font color=Cyan>,</font> lineno<font color=Cyan>)</font>
-<a name="(line27)"></a><font color=Green><u>import</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>Options    <font color=Cyan>(</font>BoolOptions<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="(line28)"></a><font color=Green><u>import</u></font> System<font color=Cyan>.</font>IO<font color=Cyan>.</font>Unsafe <font color=Cyan>(</font>unsafePerformIO<font color=Cyan>)</font>
-<a name="(line29)"></a><font color=Green><u>import</u></font> Time       <font color=Cyan>(</font>getClockTime<font color=Cyan>,</font> toCalendarTime<font color=Cyan>,</font> formatCalendarTime<font color=Cyan>)</font>
-<a name="(line30)"></a><font color=Green><u>import</u></font> Locale     <font color=Cyan>(</font>defaultTimeLocale<font color=Cyan>)</font>
-<a name="(line31)"></a>
-<a name="(line32)"></a><a name="noPos"></a>noPos <font color=Red>::</font> Posn
-<a name="(line33)"></a>noPos <font color=Red>=</font> newfile <font color=Magenta>"preDefined"</font>
-<a name="(line34)"></a>
-<a name="(line35)"></a><a name="macroPass"></a><font color=Blue>-- | Walk through the document, replacing calls of macros with the expanded RHS.</font>
-<a name="(line36)"></a>macroPass <font color=Red>::</font> <font color=Red>[</font><font color=Cyan>(</font>String<font color=Cyan>,</font>String<font color=Cyan>)</font><font color=Red>]</font>	<font color=Blue>-- ^ Pre-defined symbols and their values</font>
-<a name="(line37)"></a>          <font color=Red>-&gt;</font> BoolOptions	<font color=Blue>-- ^ Options that alter processing style</font>
-<a name="(line38)"></a>          <font color=Red>-&gt;</font> <font color=Red>[</font><font color=Cyan>(</font>Posn<font color=Cyan>,</font>String<font color=Cyan>)</font><font color=Red>]</font>	<font color=Blue>-- ^ The input file content</font>
-<a name="(line39)"></a>          <font color=Red>-&gt;</font> String		<font color=Blue>-- ^ The file after processing</font>
-<a name="(line40)"></a>macroPass syms options <font color=Red>=</font>
-<a name="(line41)"></a>    safetail		<font color=Blue>-- to remove extra "\n" inserted below</font>
-<a name="(line42)"></a>    <font color=Cyan>.</font> concat
-<a name="(line43)"></a>    <font color=Cyan>.</font> macroProcess <font color=Cyan>(</font>pragma options<font color=Cyan>)</font> <font color=Cyan>(</font>layout options<font color=Cyan>)</font> <font color=Cyan>(</font>lang options<font color=Cyan>)</font>
-<a name="(line44)"></a>                   <font color=Cyan>(</font>preDefine options syms<font color=Cyan>)</font>
-<a name="(line45)"></a>    <font color=Cyan>.</font> tokenise <font color=Cyan>(</font>stripEol options<font color=Cyan>)</font> <font color=Cyan>(</font>stripC89 options<font color=Cyan>)</font>
-<a name="(line46)"></a>               <font color=Cyan>(</font>ansi options<font color=Cyan>)</font> <font color=Cyan>(</font>lang options<font color=Cyan>)</font>
-<a name="(line47)"></a>    <font color=Cyan>.</font> <font color=Cyan>(</font><font color=Cyan>(</font>noPos<font color=Cyan>,</font><font color=Magenta>""</font><font color=Cyan>)</font><font color=Red><b>:</b></font><font color=Cyan>)</font>	<font color=Blue>-- ensure recognition of "\n#" at start of file</font>
-<a name="(line48)"></a>  <font color=Green><u>where</u></font>
-<a name="(line49)"></a>    safetail [] <font color=Red>=</font> []
-<a name="(line50)"></a>    safetail <font color=Cyan>(</font><font color=Green><u>_</u></font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> xs
-<a name="(line51)"></a>
-<a name="(line52)"></a>
-<a name="(line53)"></a><a name="preDefine"></a><font color=Blue>-- | Turn command-line definitions (from @-D@) into 'HashDefine's.</font>
-<a name="(line54)"></a>preDefine <font color=Red>::</font> BoolOptions <font color=Red>-&gt;</font> <font color=Red>[</font><font color=Cyan>(</font>String<font color=Cyan>,</font>String<font color=Cyan>)</font><font color=Red>]</font> <font color=Red>-&gt;</font> SymTab HashDefine
-<a name="(line55)"></a>preDefine options defines <font color=Red>=</font>
-<a name="(line56)"></a>    foldr <font color=Cyan>(</font>insertST <font color=Cyan>.</font> defineMacro options <font color=Cyan>.</font> <font color=Cyan>(</font><font color=Red>\</font> <font color=Cyan>(</font>s<font color=Cyan>,</font>d<font color=Cyan>)</font><font color=Red>-&gt;</font> s<font color=Cyan>++</font><font color=Magenta>" "</font><font color=Cyan>++</font>d<font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="(line57)"></a>          emptyST defines
-<a name="(line58)"></a>
-<a name="(line59)"></a><a name="defineMacro"></a><font color=Blue>-- | Turn a string representing a macro definition into a 'HashDefine'.</font>
-<a name="(line60)"></a>defineMacro <font color=Red>::</font> BoolOptions <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> <font color=Cyan>(</font>String<font color=Cyan>,</font>HashDefine<font color=Cyan>)</font>
-<a name="(line61)"></a>defineMacro opts s <font color=Red>=</font>
-<a name="(line62)"></a>    <font color=Green><u>let</u></font> <font color=Cyan>(</font>Cmd <font color=Cyan>(</font>Just hd<font color=Cyan>)</font><font color=Red><b>:</b></font><font color=Green><u>_</u></font><font color=Cyan>)</font> <font color=Red>=</font> tokenise True True <font color=Cyan>(</font>ansi opts<font color=Cyan>)</font> <font color=Cyan>(</font>lang opts<font color=Cyan>)</font>
-<a name="(line63)"></a>                                     <font color=Red>[</font><font color=Cyan>(</font>noPos<font color=Cyan>,</font><font color=Magenta>"\n#define "</font><font color=Cyan>++</font>s<font color=Cyan>++</font><font color=Magenta>"\n"</font><font color=Cyan>)</font><font color=Red>]</font>
-<a name="(line64)"></a>    <font color=Green><u>in</u></font> <font color=Cyan>(</font>name hd<font color=Cyan>,</font> hd<font color=Cyan>)</font>
-<a name="(line65)"></a>
-<a name="(line66)"></a>
-<a name="(line67)"></a><a name="macroProcess"></a><font color=Blue>-- | Trundle through the document, one word at a time, using the WordStyle</font>
-<a name="(line68)"></a><font color=Blue>--   classification introduced by 'tokenise' to decide whether to expand a</font>
-<a name="(line69)"></a><font color=Blue>--   word or macro.  Encountering a \#define or \#undef causes that symbol to</font>
-<a name="(line70)"></a><font color=Blue>--   be overwritten in the symbol table.  Any other remaining cpp directives</font>
-<a name="(line71)"></a><font color=Blue>--   are discarded and replaced with blanks, except for \#line markers.</font>
-<a name="(line72)"></a><font color=Blue>--   All valid identifiers are checked for the presence of a definition</font>
-<a name="(line73)"></a><font color=Blue>--   of that name in the symbol table, and if so, expanded appropriately.</font>
-<a name="(line74)"></a><font color=Blue>--   (Bool arguments are: keep pragmas?  retain layout?  haskell language?)</font>
-<a name="(line75)"></a>macroProcess <font color=Red>::</font> Bool <font color=Red>-&gt;</font> Bool <font color=Red>-&gt;</font> Bool <font color=Red>-&gt;</font> SymTab HashDefine <font color=Red>-&gt;</font> <font color=Red>[</font>WordStyle<font color=Red>]</font>
-<a name="(line76)"></a>             <font color=Red>-&gt;</font> <font color=Red>[</font>String<font color=Red>]</font>
-<a name="(line77)"></a>macroProcess <font color=Green><u>_</u></font> <font color=Green><u>_</u></font> <font color=Green><u>_</u></font> <font color=Green><u>_</u></font>         []               <font color=Red>=</font> []
-<a name="(line78)"></a>macroProcess p y l st <font color=Cyan>(</font>Other x<font color=Red><b>:</b></font> ws<font color=Cyan>)</font>           <font color=Red>=</font> x<font color=Red><b>:</b></font>    macroProcess p y l st ws
-<a name="(line79)"></a>macroProcess p y l st <font color=Cyan>(</font>Cmd Nothing<font color=Red><b>:</b></font> ws<font color=Cyan>)</font>       <font color=Red>=</font> <font color=Magenta>"\n"</font><font color=Red><b>:</b></font> macroProcess p y l st ws
-<a name="(line80)"></a>macroProcess p y l st <font color=Cyan>(</font>Cmd <font color=Cyan>(</font>Just <font color=Cyan>(</font>LineDrop x<font color=Cyan>)</font><font color=Cyan>)</font><font color=Red><b>:</b></font> ws<font color=Cyan>)</font>
-<a name="(line81)"></a>                                              <font color=Red>=</font> <font color=Magenta>"\n"</font><font color=Red><b>:</b></font>x<font color=Red><b>:</b></font>macroProcess p y l st ws
-<a name="(line82)"></a>macroProcess pragma y l st <font color=Cyan>(</font>Cmd <font color=Cyan>(</font>Just <font color=Cyan>(</font>Pragma x<font color=Cyan>)</font><font color=Cyan>)</font><font color=Red><b>:</b></font> ws<font color=Cyan>)</font>
-<a name="(line83)"></a>                             <font color=Red>|</font> pragma    <font color=Red>=</font> <font color=Magenta>"\n"</font><font color=Red><b>:</b></font>x<font color=Red><b>:</b></font>macroProcess pragma y l st ws
-<a name="(line84)"></a>                             <font color=Red>|</font> otherwise <font color=Red>=</font> <font color=Magenta>"\n"</font><font color=Red><b>:</b></font>  macroProcess pragma y l st ws
-<a name="(line85)"></a>macroProcess p layout lang st <font color=Cyan>(</font>Cmd <font color=Cyan>(</font>Just hd<font color=Cyan>)</font><font color=Red><b>:</b></font> ws<font color=Cyan>)</font> <font color=Red>=</font>
-<a name="(line86)"></a>    <font color=Green><u>let</u></font> n <font color=Red>=</font> <font color=Magenta>1</font> <font color=Cyan>+</font> linebreaks hd <font color=Green><u>in</u></font>
-<a name="(line87)"></a>    replicate n <font color=Magenta>"\n"</font> <font color=Cyan>++</font>macroProcess p layout lang <font color=Cyan>(</font>insertST <font color=Cyan>(</font>name hd<font color=Cyan>,</font> hd<font color=Cyan>)</font> st<font color=Cyan>)</font> ws
-<a name="(line88)"></a>macroProcess pr layout lang st <font color=Cyan>(</font>Ident p x<font color=Red><b>:</b></font> ws<font color=Cyan>)</font> <font color=Red>=</font>
-<a name="(line89)"></a>    <font color=Green><u>case</u></font> x <font color=Green><u>of</u></font>
-<a name="(line90)"></a>      <font color=Magenta>"__FILE__"</font> <font color=Red>-&gt;</font> show <font color=Cyan>(</font>filename p<font color=Cyan>)</font><font color=Red><b>:</b></font> macroProcess pr layout lang st ws
-<a name="(line91)"></a>      <font color=Magenta>"__LINE__"</font> <font color=Red>-&gt;</font> show <font color=Cyan>(</font>lineno p<font color=Cyan>)</font><font color=Red><b>:</b></font>   macroProcess pr layout lang st ws
-<a name="(line92)"></a>      <font color=Magenta>"__DATE__"</font> <font color=Red>-&gt;</font> formatCalendarTime defaultTimeLocale <font color=Magenta>"\"%d %b %Y\""</font>
-<a name="(line93)"></a>                        <font color=Cyan>(</font>unsafePerformIO <font color=Cyan>(</font>getClockTime<font color=Cyan>&gt;&gt;=</font>toCalendarTime<font color=Cyan>)</font><font color=Cyan>)</font><font color=Red><b>:</b></font>
-<a name="(line94)"></a>                                       macroProcess pr layout lang st ws
-<a name="(line95)"></a>      <font color=Magenta>"__TIME__"</font> <font color=Red>-&gt;</font> formatCalendarTime defaultTimeLocale <font color=Magenta>"\"%H:%M:%S\""</font>
-<a name="(line96)"></a>                        <font color=Cyan>(</font>unsafePerformIO <font color=Cyan>(</font>getClockTime<font color=Cyan>&gt;&gt;=</font>toCalendarTime<font color=Cyan>)</font><font color=Cyan>)</font><font color=Red><b>:</b></font>
-<a name="(line97)"></a>                                       macroProcess pr layout lang st ws
-<a name="(line98)"></a>      <font color=Green><u>_</u></font> <font color=Red>-&gt;</font>
-<a name="(line99)"></a>        <font color=Green><u>case</u></font> lookupST x st <font color=Green><u>of</u></font>
-<a name="(line100)"></a>            Nothing <font color=Red>-&gt;</font> x<font color=Red><b>:</b></font> macroProcess pr layout lang st ws
-<a name="(line101)"></a>            Just hd <font color=Red>-&gt;</font>
-<a name="(line102)"></a>                <font color=Green><u>case</u></font> hd <font color=Green><u>of</u></font>
-<a name="(line103)"></a>                    SymbolReplacement <font color=Cyan>{</font>replacement<font color=Red>=</font>r<font color=Cyan>}</font> <font color=Red>-&gt;</font>
-<a name="(line104)"></a>                        <font color=Green><u>let</u></font> r' <font color=Red>=</font> <font color=Green><u>if</u></font> layout <font color=Green><u>then</u></font> r <font color=Green><u>else</u></font> filter <font color=Cyan>(</font><font color=Cyan>/=</font><font color=Magenta>'\n'</font><font color=Cyan>)</font> r <font color=Green><u>in</u></font>
-<a name="(line105)"></a>                        <font color=Blue>-- one-level expansion only:</font>
-<a name="(line106)"></a>                        <font color=Blue>-- r' : macroProcess layout st ws</font>
-<a name="(line107)"></a>                        <font color=Blue>-- multi-level expansion:</font>
-<a name="(line108)"></a>                        macroProcess pr layout lang st
-<a name="(line109)"></a>                                     <font color=Cyan>(</font>tokenise True True False lang <font color=Red>[</font><font color=Cyan>(</font>p<font color=Cyan>,</font>r'<font color=Cyan>)</font><font color=Red>]</font>
-<a name="(line110)"></a>                                      <font color=Cyan>++</font> ws<font color=Cyan>)</font>
-<a name="(line111)"></a>                    MacroExpansion <font color=Cyan>{</font><font color=Cyan>}</font> <font color=Red>-&gt;</font>
-<a name="(line112)"></a>                        <font color=Green><u>case</u></font> parseMacroCall p ws <font color=Green><u>of</u></font>
-<a name="(line113)"></a>                            Nothing <font color=Red>-&gt;</font> x<font color=Red><b>:</b></font> macroProcess pr layout lang st ws
-<a name="(line114)"></a>                            Just <font color=Cyan>(</font>args<font color=Cyan>,</font>ws'<font color=Cyan>)</font> <font color=Red>-&gt;</font>
-<a name="(line115)"></a>                                <font color=Green><u>if</u></font> length args <font color=Cyan>/=</font> length <font color=Cyan>(</font>arguments hd<font color=Cyan>)</font> <font color=Green><u>then</u></font>
-<a name="(line116)"></a>                                     x<font color=Red><b>:</b></font> macroProcess pr layout lang st ws
-<a name="(line117)"></a>                                <font color=Green><u>else</u></font> <font color=Green><u>let</u></font> args' <font color=Red>=</font> map <font color=Cyan>(</font>concat
-<a name="(line118)"></a>                                                     <font color=Cyan>.</font> macroProcess pr layout
-<a name="(line119)"></a>                                                                    lang st<font color=Cyan>)</font>
-<a name="(line120)"></a>                                                     args <font color=Green><u>in</u></font>
-<a name="(line121)"></a>                                     <font color=Blue>-- one-level expansion only:</font>
-<a name="(line122)"></a>                                     <font color=Blue>-- expandMacro hd args' layout:</font>
-<a name="(line123)"></a>                                     <font color=Blue>--         macroProcess layout st ws'</font>
-<a name="(line124)"></a>                                     <font color=Blue>-- multi-level expansion:</font>
-<a name="(line125)"></a>                                     macroProcess pr layout lang st
-<a name="(line126)"></a>                                         <font color=Cyan>(</font>tokenise True True False lang
-<a name="(line127)"></a>                                              <font color=Red>[</font><font color=Cyan>(</font>p<font color=Cyan>,</font>expandMacro hd args' layout<font color=Cyan>)</font><font color=Red>]</font>
-<a name="(line128)"></a>                                         <font color=Cyan>++</font> ws'<font color=Cyan>)</font>
-<a name="(line129)"></a>
-</pre>
-</html>
diff --git a/docs/cpphs/Language/Preprocessor/Cpphs/Options.html b/docs/cpphs/Language/Preprocessor/Cpphs/Options.html
deleted file mode 100644
--- a/docs/cpphs/Language/Preprocessor/Cpphs/Options.html
+++ /dev/null
@@ -1,150 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<pre><a name="(line1)"></a><font color=Blue>-----------------------------------------------------------------------------</font>
-<a name="(line2)"></a><font color=Blue>-- |</font>
-<a name="(line3)"></a><font color=Blue>-- Module      :  Options</font>
-<a name="(line4)"></a><font color=Blue>-- Copyright   :  2006 Malcolm Wallace</font>
-<a name="(line5)"></a><font color=Blue>-- Licence     :  LGPL</font>
-<a name="(line6)"></a><font color=Blue>--</font>
-<a name="(line7)"></a><font color=Blue>-- Maintainer  :  Malcolm Wallace &lt;Malcolm.Wallace@cs.york.ac.uk&gt;</font>
-<a name="(line8)"></a><font color=Blue>-- Stability   :  experimental</font>
-<a name="(line9)"></a><font color=Blue>-- Portability :  All</font>
-<a name="(line10)"></a><font color=Blue>--</font>
-<a name="(line11)"></a><font color=Blue>-- This module deals with Cpphs options and parsing them</font>
-<a name="(line12)"></a><font color=Blue>-----------------------------------------------------------------------------</font>
-<a name="(line13)"></a>
-<a name="(line14)"></a><font color=Green><u>module</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>Options
-<a name="(line15)"></a>  <font color=Cyan>(</font> CpphsOptions<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font>
-<a name="(line16)"></a>  <font color=Cyan>,</font> BoolOptions<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font>
-<a name="(line17)"></a>  <font color=Cyan>,</font> parseOptions
-<a name="(line18)"></a>  <font color=Cyan>,</font> defaultCpphsOptions
-<a name="(line19)"></a>  <font color=Cyan>,</font> defaultBoolOptions
-<a name="(line20)"></a>  <font color=Cyan>)</font> <font color=Green><u>where</u></font>
-<a name="(line21)"></a>
-<a name="(line22)"></a><font color=Green><u>import</u></font> Maybe
-<a name="(line23)"></a><font color=Green><u>import</u></font> List <font color=Cyan>(</font>isPrefixOf<font color=Cyan>)</font>
-<a name="(line24)"></a>
-<a name="(line25)"></a><a name="CpphsOptions"></a><font color=Blue>-- | Cpphs options structure.</font>
-<a name="(line26)"></a><a name="CpphsOptions"></a><font color=Green><u>data</u></font> CpphsOptions <font color=Red>=</font> CpphsOptions 
-<a name="(line27)"></a>    <font color=Cyan>{</font> infiles	<font color=Red>::</font> <font color=Red>[</font>FilePath<font color=Red>]</font>
-<a name="(line28)"></a>    <font color=Cyan>,</font> outfiles	<font color=Red>::</font> <font color=Red>[</font>FilePath<font color=Red>]</font>
-<a name="(line29)"></a>    <font color=Cyan>,</font> defines	<font color=Red>::</font> <font color=Red>[</font><font color=Cyan>(</font>String<font color=Cyan>,</font>String<font color=Cyan>)</font><font color=Red>]</font>
-<a name="(line30)"></a>    <font color=Cyan>,</font> includes	<font color=Red>::</font> <font color=Red>[</font>String<font color=Red>]</font>
-<a name="(line31)"></a>    <font color=Cyan>,</font> preInclude<font color=Red>::</font> <font color=Red>[</font>FilePath<font color=Red>]</font>	<font color=Blue>-- ^ Files to #include before anything else</font>
-<a name="(line32)"></a>    <font color=Cyan>,</font> boolopts	<font color=Red>::</font> BoolOptions
-<a name="(line33)"></a>    <font color=Cyan>}</font>
-<a name="(line34)"></a>
-<a name="(line35)"></a><a name="defaultCpphsOptions"></a><font color=Blue>-- | Default options.</font>
-<a name="(line36)"></a>defaultCpphsOptions <font color=Red>::</font> CpphsOptions
-<a name="(line37)"></a>defaultCpphsOptions <font color=Red>=</font> CpphsOptions <font color=Cyan>{</font> infiles <font color=Red>=</font> []<font color=Cyan>,</font> outfiles <font color=Red>=</font> []
-<a name="(line38)"></a>                                   <font color=Cyan>,</font> defines <font color=Red>=</font> []<font color=Cyan>,</font> includes <font color=Red>=</font> []
-<a name="(line39)"></a>                                   <font color=Cyan>,</font> preInclude <font color=Red>=</font> []
-<a name="(line40)"></a>                                   <font color=Cyan>,</font> boolopts <font color=Red>=</font> defaultBoolOptions <font color=Cyan>}</font>
-<a name="(line41)"></a>
-<a name="(line42)"></a><a name="BoolOptions"></a><font color=Blue>-- | Options representable as Booleans.</font>
-<a name="(line43)"></a><a name="BoolOptions"></a><font color=Green><u>data</u></font> BoolOptions <font color=Red>=</font> BoolOptions
-<a name="(line44)"></a>    <font color=Cyan>{</font> macros	<font color=Red>::</font> Bool  <font color=Blue>-- ^ Leave \#define and \#undef in output of ifdef?</font>
-<a name="(line45)"></a>    <font color=Cyan>,</font> locations	<font color=Red>::</font> Bool	 <font color=Blue>-- ^ Place #line droppings in output?</font>
-<a name="(line46)"></a>    <font color=Cyan>,</font> pragma	<font color=Red>::</font> Bool  <font color=Blue>-- ^ Keep #pragma in final output?</font>
-<a name="(line47)"></a>    <font color=Cyan>,</font> stripEol	<font color=Red>::</font> Bool  <font color=Blue>-- ^ Remove C eol (\/\/) comments everywhere?</font>
-<a name="(line48)"></a>    <font color=Cyan>,</font> stripC89	<font color=Red>::</font> Bool  <font color=Blue>-- ^ Remove C inline (\/**\/) comments everywhere?</font>
-<a name="(line49)"></a>    <font color=Cyan>,</font> lang	<font color=Red>::</font> Bool  <font color=Blue>-- ^ Lex input as Haskell code?</font>
-<a name="(line50)"></a>    <font color=Cyan>,</font> ansi	<font color=Red>::</font> Bool  <font color=Blue>-- ^ Permit stringise \# and catenate \#\# operators?</font>
-<a name="(line51)"></a>    <font color=Cyan>,</font> layout	<font color=Red>::</font> Bool  <font color=Blue>-- ^ Retain newlines in macro expansions?</font>
-<a name="(line52)"></a>    <font color=Cyan>,</font> literate	<font color=Red>::</font> Bool  <font color=Blue>-- ^ Remove literate markup?</font>
-<a name="(line53)"></a>    <font color=Cyan>,</font> warnings	<font color=Red>::</font> Bool  <font color=Blue>-- ^ Issue warnings?</font>
-<a name="(line54)"></a>    <font color=Cyan>}</font>
-<a name="(line55)"></a>
-<a name="(line56)"></a><a name="defaultBoolOptions"></a><font color=Blue>-- | Default settings of boolean options.</font>
-<a name="(line57)"></a>defaultBoolOptions <font color=Red>::</font> BoolOptions
-<a name="(line58)"></a>defaultBoolOptions <font color=Red>=</font> BoolOptions <font color=Cyan>{</font> macros   <font color=Red>=</font> True<font color=Cyan>,</font>   locations <font color=Red>=</font> True
-<a name="(line59)"></a>                                 <font color=Cyan>,</font> pragma   <font color=Red>=</font> False
-<a name="(line60)"></a>                                 <font color=Cyan>,</font> stripEol <font color=Red>=</font> False<font color=Cyan>,</font>  stripC89  <font color=Red>=</font> False
-<a name="(line61)"></a>                                 <font color=Cyan>,</font> lang     <font color=Red>=</font> True<font color=Cyan>,</font>   ansi      <font color=Red>=</font> False
-<a name="(line62)"></a>                                 <font color=Cyan>,</font> layout   <font color=Red>=</font> False<font color=Cyan>,</font>  literate  <font color=Red>=</font> False
-<a name="(line63)"></a>                                 <font color=Cyan>,</font> warnings <font color=Red>=</font> True <font color=Cyan>}</font>
-<a name="(line64)"></a>
-<a name="(line65)"></a><a name="RawOption"></a><font color=Blue>-- | Raw command-line options.  This is an internal intermediate data</font>
-<a name="(line66)"></a><a name="RawOption"></a><font color=Blue>--   structure, used during option parsing only.</font>
-<a name="(line67)"></a><a name="RawOption"></a><font color=Green><u>data</u></font> RawOption
-<a name="(line68)"></a>    <font color=Red>=</font> NoMacro
-<a name="(line69)"></a>    <font color=Red>|</font> NoLine
-<a name="(line70)"></a>    <font color=Red>|</font> Pragma
-<a name="(line71)"></a>    <font color=Red>|</font> Text
-<a name="(line72)"></a>    <font color=Red>|</font> Strip
-<a name="(line73)"></a>    <font color=Red>|</font> StripEol
-<a name="(line74)"></a>    <font color=Red>|</font> Ansi
-<a name="(line75)"></a>    <font color=Red>|</font> Layout
-<a name="(line76)"></a>    <font color=Red>|</font> Unlit
-<a name="(line77)"></a>    <font color=Red>|</font> SuppressWarnings
-<a name="(line78)"></a>    <font color=Red>|</font> Macro <font color=Cyan>(</font>String<font color=Cyan>,</font>String<font color=Cyan>)</font>
-<a name="(line79)"></a>    <font color=Red>|</font> Path String
-<a name="(line80)"></a>    <font color=Red>|</font> PreInclude FilePath
-<a name="(line81)"></a>      <font color=Green><u>deriving</u></font> <font color=Cyan>(</font>Eq<font color=Cyan>,</font> Show<font color=Cyan>)</font>
-<a name="(line82)"></a>
-<a name="(line83)"></a><a name="flags"></a>flags <font color=Red>::</font> <font color=Red>[</font><font color=Cyan>(</font>String<font color=Cyan>,</font> RawOption<font color=Cyan>)</font><font color=Red>]</font>
-<a name="(line84)"></a>flags <font color=Red>=</font> <font color=Red>[</font> <font color=Cyan>(</font><font color=Magenta>"--nomacro"</font><font color=Cyan>,</font> NoMacro<font color=Cyan>)</font>
-<a name="(line85)"></a>        <font color=Cyan>,</font> <font color=Cyan>(</font><font color=Magenta>"--noline"</font><font color=Cyan>,</font>  NoLine<font color=Cyan>)</font>
-<a name="(line86)"></a>        <font color=Cyan>,</font> <font color=Cyan>(</font><font color=Magenta>"--pragma"</font><font color=Cyan>,</font>  Pragma<font color=Cyan>)</font>
-<a name="(line87)"></a>        <font color=Cyan>,</font> <font color=Cyan>(</font><font color=Magenta>"--text"</font><font color=Cyan>,</font>    Text<font color=Cyan>)</font>
-<a name="(line88)"></a>        <font color=Cyan>,</font> <font color=Cyan>(</font><font color=Magenta>"--strip"</font><font color=Cyan>,</font>   Strip<font color=Cyan>)</font>
-<a name="(line89)"></a>        <font color=Cyan>,</font> <font color=Cyan>(</font><font color=Magenta>"--strip-eol"</font><font color=Cyan>,</font>  StripEol<font color=Cyan>)</font>
-<a name="(line90)"></a>        <font color=Cyan>,</font> <font color=Cyan>(</font><font color=Magenta>"--hashes"</font><font color=Cyan>,</font>  Ansi<font color=Cyan>)</font>
-<a name="(line91)"></a>        <font color=Cyan>,</font> <font color=Cyan>(</font><font color=Magenta>"--layout"</font><font color=Cyan>,</font>  Layout<font color=Cyan>)</font>
-<a name="(line92)"></a>        <font color=Cyan>,</font> <font color=Cyan>(</font><font color=Magenta>"--unlit"</font><font color=Cyan>,</font>   Unlit<font color=Cyan>)</font>
-<a name="(line93)"></a>        <font color=Cyan>,</font> <font color=Cyan>(</font><font color=Magenta>"--nowarn"</font><font color=Cyan>,</font>  SuppressWarnings<font color=Cyan>)</font>
-<a name="(line94)"></a>        <font color=Red>]</font>
-<a name="(line95)"></a>
-<a name="(line96)"></a><a name="rawOption"></a><font color=Blue>-- | Parse a single raw command-line option.  Parse failure is indicated by</font>
-<a name="(line97)"></a><font color=Blue>--   result Nothing.</font>
-<a name="(line98)"></a>rawOption <font color=Red>::</font> String <font color=Red>-&gt;</font> Maybe RawOption
-<a name="(line99)"></a>rawOption x <font color=Red>|</font> isJust a <font color=Red>=</font> a
-<a name="(line100)"></a>    <font color=Green><u>where</u></font> a <font color=Red>=</font> lookup x flags
-<a name="(line101)"></a>rawOption <font color=Cyan>(</font><font color=Magenta>'-'</font><font color=Red><b>:</b></font><font color=Magenta>'D'</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> Just <font color=Cyan>$</font> Macro <font color=Cyan>(</font>s<font color=Cyan>,</font> <font color=Green><u>if</u></font> null d <font color=Green><u>then</u></font> <font color=Magenta>"1"</font> <font color=Green><u>else</u></font> tail d<font color=Cyan>)</font>
-<a name="(line102)"></a>    <font color=Green><u>where</u></font> <font color=Cyan>(</font>s<font color=Cyan>,</font>d<font color=Cyan>)</font> <font color=Red>=</font> break <font color=Cyan>(</font><font color=Cyan>==</font><font color=Magenta>'='</font><font color=Cyan>)</font> xs
-<a name="(line103)"></a>rawOption <font color=Cyan>(</font><font color=Magenta>'-'</font><font color=Red><b>:</b></font><font color=Magenta>'I'</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> Just <font color=Cyan>$</font> Path <font color=Cyan>$</font> trailing <font color=Magenta>"/\\"</font> xs
-<a name="(line104)"></a>rawOption xs <font color=Red>|</font> <font color=Magenta>"--include="</font><font color=Cyan>`isPrefixOf`</font>xs
-<a name="(line105)"></a>            <font color=Red>=</font> Just <font color=Cyan>$</font> PreInclude <font color=Cyan>(</font>drop <font color=Magenta>10</font> xs<font color=Cyan>)</font>
-<a name="(line106)"></a>rawOption <font color=Green><u>_</u></font> <font color=Red>=</font> Nothing
-<a name="(line107)"></a>
-<a name="(line108)"></a><a name="trailing"></a>trailing <font color=Red>::</font> <font color=Cyan>(</font>Eq a<font color=Cyan>)</font> <font color=Red>=&gt;</font> <font color=Red>[</font>a<font color=Red>]</font> <font color=Red>-&gt;</font> <font color=Red>[</font>a<font color=Red>]</font> <font color=Red>-&gt;</font> <font color=Red>[</font>a<font color=Red>]</font>
-<a name="(line109)"></a>trailing xs <font color=Red>=</font> reverse <font color=Cyan>.</font> dropWhile <font color=Cyan>(</font><font color=Cyan>`elem`</font>xs<font color=Cyan>)</font> <font color=Cyan>.</font> reverse
-<a name="(line110)"></a>
-<a name="(line111)"></a><a name="boolOpts"></a><font color=Blue>-- | Convert a list of RawOption to a BoolOptions structure.</font>
-<a name="(line112)"></a>boolOpts <font color=Red>::</font> <font color=Red>[</font>RawOption<font color=Red>]</font> <font color=Red>-&gt;</font> BoolOptions
-<a name="(line113)"></a>boolOpts opts <font color=Red>=</font>
-<a name="(line114)"></a>  BoolOptions
-<a name="(line115)"></a>    <font color=Cyan>{</font> macros	<font color=Red>=</font> not <font color=Cyan>(</font>NoMacro <font color=Cyan>`elem`</font> opts<font color=Cyan>)</font>
-<a name="(line116)"></a>    <font color=Cyan>,</font> locations	<font color=Red>=</font> not <font color=Cyan>(</font>NoLine  <font color=Cyan>`elem`</font> opts<font color=Cyan>)</font>
-<a name="(line117)"></a>    <font color=Cyan>,</font> pragma	<font color=Red>=</font>      Pragma  <font color=Cyan>`elem`</font> opts
-<a name="(line118)"></a>    <font color=Cyan>,</font> stripEol	<font color=Red>=</font>      StripEol<font color=Cyan>`elem`</font> opts
-<a name="(line119)"></a>    <font color=Cyan>,</font> stripC89	<font color=Red>=</font>      StripEol<font color=Cyan>`elem`</font> opts <font color=Cyan>||</font> Strip <font color=Cyan>`elem`</font> opts
-<a name="(line120)"></a>    <font color=Cyan>,</font> lang      <font color=Red>=</font> not <font color=Cyan>(</font>Text    <font color=Cyan>`elem`</font> opts<font color=Cyan>)</font>
-<a name="(line121)"></a>    <font color=Cyan>,</font> ansi	<font color=Red>=</font>      Ansi    <font color=Cyan>`elem`</font> opts
-<a name="(line122)"></a>    <font color=Cyan>,</font> layout	<font color=Red>=</font>      Layout  <font color=Cyan>`elem`</font> opts
-<a name="(line123)"></a>    <font color=Cyan>,</font> literate	<font color=Red>=</font>      Unlit   <font color=Cyan>`elem`</font> opts
-<a name="(line124)"></a>    <font color=Cyan>,</font> warnings	<font color=Red>=</font> not <font color=Cyan>(</font>SuppressWarnings <font color=Cyan>`elem`</font> opts<font color=Cyan>)</font>
-<a name="(line125)"></a>    <font color=Cyan>}</font>
-<a name="(line126)"></a>
-<a name="(line127)"></a><a name="parseOptions"></a><font color=Blue>-- | Parse all command-line options.</font>
-<a name="(line128)"></a>parseOptions <font color=Red>::</font> <font color=Red>[</font>String<font color=Red>]</font> <font color=Red>-&gt;</font> Either String CpphsOptions
-<a name="(line129)"></a>parseOptions xs <font color=Red>=</font> f <font color=Cyan>(</font>[]<font color=Cyan>,</font> []<font color=Cyan>,</font> []<font color=Cyan>)</font> xs
-<a name="(line130)"></a>  <font color=Green><u>where</u></font>
-<a name="(line131)"></a>    f <font color=Cyan>(</font>opts<font color=Cyan>,</font> ins<font color=Cyan>,</font> outs<font color=Cyan>)</font> <font color=Cyan>(</font><font color=Cyan>(</font><font color=Magenta>'-'</font><font color=Red><b>:</b></font><font color=Magenta>'O'</font><font color=Red><b>:</b></font>x<font color=Cyan>)</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> f <font color=Cyan>(</font>opts<font color=Cyan>,</font> ins<font color=Cyan>,</font> x<font color=Red><b>:</b></font>outs<font color=Cyan>)</font> xs
-<a name="(line132)"></a>    f <font color=Cyan>(</font>opts<font color=Cyan>,</font> ins<font color=Cyan>,</font> outs<font color=Cyan>)</font> <font color=Cyan>(</font>x<font color=Red>@</font><font color=Cyan>(</font><font color=Magenta>'-'</font><font color=Red><b>:</b></font><font color=Green><u>_</u></font><font color=Cyan>)</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> <font color=Green><u>case</u></font> rawOption x <font color=Green><u>of</u></font>
-<a name="(line133)"></a>                                           Nothing <font color=Red>-&gt;</font> Left x
-<a name="(line134)"></a>                                           Just a  <font color=Red>-&gt;</font> f <font color=Cyan>(</font>a<font color=Red><b>:</b></font>opts<font color=Cyan>,</font> ins<font color=Cyan>,</font> outs<font color=Cyan>)</font> xs
-<a name="(line135)"></a>    f <font color=Cyan>(</font>opts<font color=Cyan>,</font> ins<font color=Cyan>,</font> outs<font color=Cyan>)</font> <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> f <font color=Cyan>(</font>opts<font color=Cyan>,</font> normalise x<font color=Red><b>:</b></font>ins<font color=Cyan>,</font> outs<font color=Cyan>)</font> xs
-<a name="(line136)"></a>    f <font color=Cyan>(</font>opts<font color=Cyan>,</font> ins<font color=Cyan>,</font> outs<font color=Cyan>)</font> []     <font color=Red>=</font>
-<a name="(line137)"></a>        Right CpphsOptions <font color=Cyan>{</font> infiles  <font color=Red>=</font> reverse ins
-<a name="(line138)"></a>                           <font color=Cyan>,</font> outfiles <font color=Red>=</font> reverse outs
-<a name="(line139)"></a>                           <font color=Cyan>,</font> defines  <font color=Red>=</font> <font color=Red>[</font> x <font color=Red>|</font> Macro x <font color=Red>&lt;-</font> reverse opts <font color=Red>]</font>
-<a name="(line140)"></a>                           <font color=Cyan>,</font> includes <font color=Red>=</font> <font color=Red>[</font> x <font color=Red>|</font> Path x  <font color=Red>&lt;-</font> reverse opts <font color=Red>]</font>
-<a name="(line141)"></a>                           <font color=Cyan>,</font> preInclude<font color=Red>=</font><font color=Red>[</font> x <font color=Red>|</font> PreInclude x <font color=Red>&lt;-</font> reverse opts <font color=Red>]</font>
-<a name="(line142)"></a>                           <font color=Cyan>,</font> boolopts <font color=Red>=</font> boolOpts opts
-<a name="(line143)"></a>                           <font color=Cyan>}</font>
-<a name="(line144)"></a>    normalise <font color=Cyan>(</font><font color=Magenta>'/'</font><font color=Red><b>:</b></font><font color=Magenta>'/'</font><font color=Red><b>:</b></font>filepath<font color=Cyan>)</font> <font color=Red>=</font> normalise <font color=Cyan>(</font><font color=Magenta>'/'</font><font color=Red><b>:</b></font>filepath<font color=Cyan>)</font>
-<a name="(line145)"></a>    normalise <font color=Cyan>(</font>x<font color=Red><b>:</b></font>filepath<font color=Cyan>)</font>       <font color=Red>=</font> x<font color=Red><b>:</b></font>normalise filepath
-<a name="(line146)"></a>    normalise []                 <font color=Red>=</font> []
-</pre>
-</html>
diff --git a/docs/cpphs/Language/Preprocessor/Cpphs/Position.html b/docs/cpphs/Language/Preprocessor/Cpphs/Position.html
deleted file mode 100644
--- a/docs/cpphs/Language/Preprocessor/Cpphs/Position.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<pre><a name="(line1)"></a><font color=Blue>-----------------------------------------------------------------------------</font>
-<a name="(line2)"></a><font color=Blue>-- |</font>
-<a name="(line3)"></a><font color=Blue>-- Module      :  Position</font>
-<a name="(line4)"></a><font color=Blue>-- Copyright   :  2000-2004 Malcolm Wallace</font>
-<a name="(line5)"></a><font color=Blue>-- Licence     :  LGPL</font>
-<a name="(line6)"></a><font color=Blue>--</font>
-<a name="(line7)"></a><font color=Blue>-- Maintainer  :  Malcolm Wallace &lt;Malcolm.Wallace@cs.york.ac.uk&gt;</font>
-<a name="(line8)"></a><font color=Blue>-- Stability   :  experimental</font>
-<a name="(line9)"></a><font color=Blue>-- Portability :  All</font>
-<a name="(line10)"></a><font color=Blue>--</font>
-<a name="(line11)"></a><font color=Blue>-- Simple file position information, with recursive inclusion points.</font>
-<a name="(line12)"></a><font color=Blue>-----------------------------------------------------------------------------</font>
-<a name="(line13)"></a>
-<a name="(line14)"></a><font color=Green><u>module</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>Position
-<a name="(line15)"></a>  <font color=Cyan>(</font> Posn<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font>
-<a name="(line16)"></a>  <font color=Cyan>,</font> newfile
-<a name="(line17)"></a>  <font color=Cyan>,</font> addcol<font color=Cyan>,</font> newline<font color=Cyan>,</font> tab<font color=Cyan>,</font> newlines<font color=Cyan>,</font> newpos
-<a name="(line18)"></a>  <font color=Cyan>,</font> cppline
-<a name="(line19)"></a>  <font color=Cyan>,</font> filename<font color=Cyan>,</font> lineno<font color=Cyan>,</font> directory
-<a name="(line20)"></a>  <font color=Cyan>)</font> <font color=Green><u>where</u></font>
-<a name="(line21)"></a>
-<a name="(line22)"></a><a name="Posn"></a><font color=Blue>-- | Source positions contain a filename, line, column, and an</font>
-<a name="(line23)"></a><a name="Posn"></a><font color=Blue>--   inclusion point, which is itself another source position,</font>
-<a name="(line24)"></a><a name="Posn"></a><font color=Blue>--   recursively.</font>
-<a name="(line25)"></a><a name="Posn"></a><font color=Green><u>data</u></font> Posn <font color=Red>=</font> Pn String <font color=Cyan>!</font>Int <font color=Cyan>!</font>Int <font color=Cyan>(</font>Maybe Posn<font color=Cyan>)</font>
-<a name="(line26)"></a>        <font color=Green><u>deriving</u></font> <font color=Cyan>(</font>Eq<font color=Cyan>)</font>
-<a name="(line27)"></a>
-<a name="(line28)"></a><font color=Green><u>instance</u></font> Show Posn <font color=Green><u>where</u></font>
-<a name="(line29)"></a>      showsPrec <font color=Green><u>_</u></font> <font color=Cyan>(</font>Pn f l c i<font color=Cyan>)</font> <font color=Red>=</font> showString f <font color=Cyan>.</font>
-<a name="(line30)"></a>                                 showString <font color=Magenta>"  at line "</font> <font color=Cyan>.</font> shows l <font color=Cyan>.</font>
-<a name="(line31)"></a>                                 showString <font color=Magenta>" col "</font> <font color=Cyan>.</font> shows c <font color=Cyan>.</font>
-<a name="(line32)"></a>                                 <font color=Cyan>(</font> <font color=Green><u>case</u></font> i <font color=Green><u>of</u></font>
-<a name="(line33)"></a>                                    Nothing <font color=Red>-&gt;</font> id
-<a name="(line34)"></a>                                    Just p  <font color=Red>-&gt;</font> showString <font color=Magenta>"\n    used by  "</font> <font color=Cyan>.</font>
-<a name="(line35)"></a>                                               shows p <font color=Cyan>)</font>
-<a name="(line36)"></a>
-<a name="(line37)"></a><a name="newfile"></a><font color=Blue>-- | Constructor</font>
-<a name="(line38)"></a>newfile <font color=Red>::</font> String <font color=Red>-&gt;</font> Posn
-<a name="(line39)"></a>newfile name <font color=Red>=</font> Pn name <font color=Magenta>1</font> <font color=Magenta>1</font> Nothing
-<a name="(line40)"></a>
-<a name="(line41)"></a><a name="addcol"></a><font color=Blue>-- | Updates</font>
-<a name="(line42)"></a>addcol <font color=Red>::</font> Int <font color=Red>-&gt;</font> Posn <font color=Red>-&gt;</font> Posn
-<a name="(line43)"></a>addcol n <font color=Cyan>(</font>Pn f r c i<font color=Cyan>)</font> <font color=Red>=</font> Pn f r <font color=Cyan>(</font>c<font color=Cyan>+</font>n<font color=Cyan>)</font> i
-<a name="(line44)"></a>
-<a name="(line45)"></a><a name="newline"></a>newline<font color=Cyan>,</font> tab <font color=Red>::</font> Posn <font color=Red>-&gt;</font> Posn
-<a name="(line46)"></a><font color=Blue>--newline (Pn f r _ i) = Pn f (r+1) 1 i</font>
-<a name="(line47)"></a>newline <font color=Cyan>(</font>Pn f r <font color=Green><u>_</u></font> i<font color=Cyan>)</font> <font color=Red>=</font> <font color=Green><u>let</u></font> r' <font color=Red>=</font> r<font color=Cyan>+</font><font color=Magenta>1</font> <font color=Green><u>in</u></font> r' <font color=Cyan>`seq`</font> Pn f r' <font color=Magenta>1</font> i
-<a name="(line48)"></a><a name="tab"></a>tab     <font color=Cyan>(</font>Pn f r c i<font color=Cyan>)</font> <font color=Red>=</font> Pn f r <font color=Cyan>(</font><font color=Cyan>(</font><font color=Cyan>(</font>c<font color=Cyan>`div`</font><font color=Magenta>8</font><font color=Cyan>)</font><font color=Cyan>+</font><font color=Magenta>1</font><font color=Cyan>)</font><font color=Cyan>*</font><font color=Magenta>8</font><font color=Cyan>)</font> i
-<a name="(line49)"></a>
-<a name="(line50)"></a><a name="newlines"></a>newlines <font color=Red>::</font> Int <font color=Red>-&gt;</font> Posn <font color=Red>-&gt;</font> Posn
-<a name="(line51)"></a>newlines n <font color=Cyan>(</font>Pn f r <font color=Green><u>_</u></font> i<font color=Cyan>)</font> <font color=Red>=</font> Pn f <font color=Cyan>(</font>r<font color=Cyan>+</font>n<font color=Cyan>)</font> <font color=Magenta>1</font> i
-<a name="(line52)"></a>
-<a name="(line53)"></a><a name="newpos"></a>newpos <font color=Red>::</font> Int <font color=Red>-&gt;</font> Maybe String <font color=Red>-&gt;</font> Posn <font color=Red>-&gt;</font> Posn
-<a name="(line54)"></a>newpos r Nothing  <font color=Cyan>(</font>Pn f <font color=Green><u>_</u></font> c i<font color=Cyan>)</font> <font color=Red>=</font> Pn f r c i
-<a name="(line55)"></a>newpos r <font color=Cyan>(</font>Just <font color=Cyan>(</font><font color=Magenta>'"'</font><font color=Red><b>:</b></font>f<font color=Cyan>)</font><font color=Cyan>)</font> <font color=Cyan>(</font>Pn <font color=Green><u>_</u></font> <font color=Green><u>_</u></font> c i<font color=Cyan>)</font> <font color=Red>=</font> Pn <font color=Cyan>(</font>init f<font color=Cyan>)</font> r c i
-<a name="(line56)"></a>newpos r <font color=Cyan>(</font>Just f<font color=Cyan>)</font>       <font color=Cyan>(</font>Pn <font color=Green><u>_</u></font> <font color=Green><u>_</u></font> c i<font color=Cyan>)</font> <font color=Red>=</font> Pn f r c i
-<a name="(line57)"></a>
-<a name="(line58)"></a><font color=Blue>-- | Projections</font>
-<a name="(line59)"></a>
-<a name="(line60)"></a><a name="lineno"></a>lineno    <font color=Red>::</font> Posn <font color=Red>-&gt;</font> Int
-<a name="(line61)"></a><a name="filename"></a>filename  <font color=Red>::</font> Posn <font color=Red>-&gt;</font> String
-<a name="(line62)"></a><a name="directory"></a>directory <font color=Red>::</font> Posn <font color=Red>-&gt;</font> FilePath
-<a name="(line63)"></a>
-<a name="(line64)"></a>lineno    <font color=Cyan>(</font>Pn <font color=Green><u>_</u></font> r <font color=Green><u>_</u></font> <font color=Green><u>_</u></font><font color=Cyan>)</font> <font color=Red>=</font> r
-<a name="(line65)"></a>filename  <font color=Cyan>(</font>Pn f <font color=Green><u>_</u></font> <font color=Green><u>_</u></font> <font color=Green><u>_</u></font><font color=Cyan>)</font> <font color=Red>=</font> f
-<a name="(line66)"></a>directory <font color=Cyan>(</font>Pn f <font color=Green><u>_</u></font> <font color=Green><u>_</u></font> <font color=Green><u>_</u></font><font color=Cyan>)</font> <font color=Red>=</font> dirname f
-<a name="(line67)"></a>
-<a name="(line68)"></a>
-<a name="(line69)"></a><a name="cppline"></a><font color=Blue>-- | cpp-style printing</font>
-<a name="(line70)"></a>cppline <font color=Red>::</font> Posn <font color=Red>-&gt;</font> String
-<a name="(line71)"></a>cppline <font color=Cyan>(</font>Pn f r <font color=Green><u>_</u></font> <font color=Green><u>_</u></font><font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"#line "</font><font color=Cyan>++</font>show r<font color=Cyan>++</font><font color=Magenta>" "</font><font color=Cyan>++</font>show f
-<a name="(line72)"></a>
-<a name="(line73)"></a>                                                                                
-<a name="(line74)"></a><a name="dirname"></a><font color=Blue>-- | Strip non-directory suffix from file name (analogous to the shell</font>
-<a name="(line75)"></a><font color=Blue>--   command of the same name).</font>
-<a name="(line76)"></a>dirname <font color=Red>::</font> String <font color=Red>-&gt;</font> String
-<a name="(line77)"></a>dirname  <font color=Red>=</font> reverse <font color=Cyan>.</font> safetail <font color=Cyan>.</font> dropWhile <font color=Cyan>(</font>not<font color=Cyan>.</font><font color=Cyan>(</font><font color=Cyan>`elem`</font><font color=Magenta>"\\/"</font><font color=Cyan>)</font><font color=Cyan>)</font> <font color=Cyan>.</font> reverse
-<a name="(line78)"></a>  <font color=Green><u>where</u></font> safetail [] <font color=Red>=</font> []
-<a name="(line79)"></a>        safetail <font color=Cyan>(</font><font color=Green><u>_</u></font><font color=Red><b>:</b></font>x<font color=Cyan>)</font> <font color=Red>=</font> x
-<a name="(line80)"></a>
-</pre>
-</html>
diff --git a/docs/cpphs/Language/Preprocessor/Cpphs/ReadFirst.html b/docs/cpphs/Language/Preprocessor/Cpphs/ReadFirst.html
deleted file mode 100644
--- a/docs/cpphs/Language/Preprocessor/Cpphs/ReadFirst.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<pre><a name="(line1)"></a><font color=Blue>-----------------------------------------------------------------------------</font>
-<a name="(line2)"></a><font color=Blue>-- |</font>
-<a name="(line3)"></a><font color=Blue>-- Module      :  ReadFirst</font>
-<a name="(line4)"></a><font color=Blue>-- Copyright   :  2004 Malcolm Wallace</font>
-<a name="(line5)"></a><font color=Blue>-- Licence     :  LGPL</font>
-<a name="(line6)"></a><font color=Blue>-- </font>
-<a name="(line7)"></a><font color=Blue>-- Maintainer  :  Malcolm Wallace &lt;Malcolm.Wallace@cs.york.ac.uk&gt;</font>
-<a name="(line8)"></a><font color=Blue>-- Stability   :  experimental</font>
-<a name="(line9)"></a><font color=Blue>-- Portability :  All</font>
-<a name="(line10)"></a><font color=Blue>--</font>
-<a name="(line11)"></a><font color=Blue>-- Read the first file that matches in a list of search paths.</font>
-<a name="(line12)"></a><font color=Blue>-----------------------------------------------------------------------------</font>
-<a name="(line13)"></a>
-<a name="(line14)"></a><font color=Green><u>module</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>ReadFirst
-<a name="(line15)"></a>  <font color=Cyan>(</font> readFirst
-<a name="(line16)"></a>  <font color=Cyan>)</font> <font color=Green><u>where</u></font>
-<a name="(line17)"></a>
-<a name="(line18)"></a><font color=Green><u>import</u></font> IO        <font color=Cyan>(</font>hPutStrLn<font color=Cyan>,</font> stderr<font color=Cyan>)</font>
-<a name="(line19)"></a><font color=Green><u>import</u></font> Directory <font color=Cyan>(</font>doesFileExist<font color=Cyan>)</font>
-<a name="(line20)"></a><font color=Green><u>import</u></font> List      <font color=Cyan>(</font>intersperse<font color=Cyan>)</font>
-<a name="(line21)"></a><font color=Green><u>import</u></font> Monad     <font color=Cyan>(</font>when<font color=Cyan>)</font>
-<a name="(line22)"></a><font color=Green><u>import</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>Position  <font color=Cyan>(</font>Posn<font color=Cyan>,</font>directory<font color=Cyan>)</font>
-<a name="(line23)"></a>
-<a name="(line24)"></a><a name="readFirst"></a><font color=Blue>-- | Attempt to read the given file from any location within the search path.</font>
-<a name="(line25)"></a><font color=Blue>--   The first location found is returned, together with the file content.</font>
-<a name="(line26)"></a><font color=Blue>--   (The directory of the calling file is always searched first, then</font>
-<a name="(line27)"></a><font color=Blue>--    the current directory, finally any specified search path.)</font>
-<a name="(line28)"></a>readFirst <font color=Red>::</font> String		<font color=Blue>-- ^ filename</font>
-<a name="(line29)"></a>	<font color=Red>-&gt;</font> Posn			<font color=Blue>-- ^ inclusion point</font>
-<a name="(line30)"></a>	<font color=Red>-&gt;</font> <font color=Red>[</font>String<font color=Red>]</font>		<font color=Blue>-- ^ search path</font>
-<a name="(line31)"></a>	<font color=Red>-&gt;</font> Bool			<font color=Blue>-- ^ report warnings?</font>
-<a name="(line32)"></a>	<font color=Red>-&gt;</font> IO <font color=Cyan>(</font> FilePath
-<a name="(line33)"></a>              <font color=Cyan>,</font> String
-<a name="(line34)"></a>              <font color=Cyan>)</font>			<font color=Blue>-- ^ discovered filepath, and file contents</font>
-<a name="(line35)"></a>
-<a name="(line36)"></a>readFirst name demand path warn <font color=Red>=</font>
-<a name="(line37)"></a>    try <font color=Cyan>(</font>cons dd <font color=Cyan>(</font><font color=Magenta>"."</font><font color=Red><b>:</b></font>path<font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="(line38)"></a>  <font color=Green><u>where</u></font>
-<a name="(line39)"></a>    dd <font color=Red>=</font> directory demand
-<a name="(line40)"></a>    cons x xs <font color=Red>=</font> <font color=Green><u>if</u></font> null x <font color=Green><u>then</u></font> xs <font color=Green><u>else</u></font> x<font color=Red><b>:</b></font>xs
-<a name="(line41)"></a>    try [] <font color=Red>=</font> <font color=Green><u>do</u></font>
-<a name="(line42)"></a>        when warn <font color=Cyan>$</font>
-<a name="(line43)"></a>          hPutStrLn stderr <font color=Cyan>(</font><font color=Magenta>"Warning: Can't find file \""</font><font color=Cyan>++</font>name
-<a name="(line44)"></a>                           <font color=Cyan>++</font><font color=Magenta>"\" in directories\n\t"</font>
-<a name="(line45)"></a>                           <font color=Cyan>++</font>concat <font color=Cyan>(</font>intersperse <font color=Magenta>"\n\t"</font> <font color=Cyan>(</font>cons dd <font color=Cyan>(</font><font color=Magenta>"."</font><font color=Red><b>:</b></font>path<font color=Cyan>)</font><font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="(line46)"></a>                           <font color=Cyan>++</font><font color=Magenta>"\n  Asked for by: "</font><font color=Cyan>++</font>show demand<font color=Cyan>)</font>
-<a name="(line47)"></a>        return <font color=Cyan>(</font><font color=Magenta>"missing file: "</font><font color=Cyan>++</font>name<font color=Cyan>,</font><font color=Magenta>""</font><font color=Cyan>)</font>
-<a name="(line48)"></a>    try <font color=Cyan>(</font>p<font color=Red><b>:</b></font>ps<font color=Cyan>)</font> <font color=Red>=</font> <font color=Green><u>do</u></font>
-<a name="(line49)"></a>        <font color=Green><u>let</u></font> file <font color=Red>=</font> p<font color=Cyan>++</font><font color=Magenta>'/'</font><font color=Red><b>:</b></font>name
-<a name="(line50)"></a>        ok <font color=Red>&lt;-</font> doesFileExist file
-<a name="(line51)"></a>        <font color=Green><u>if</u></font> not ok <font color=Green><u>then</u></font> try ps
-<a name="(line52)"></a>          <font color=Green><u>else</u></font> <font color=Green><u>do</u></font> content <font color=Red>&lt;-</font> readFile file
-<a name="(line53)"></a>                  return <font color=Cyan>(</font>file<font color=Cyan>,</font>content<font color=Cyan>)</font>
-</pre>
-</html>
diff --git a/docs/cpphs/Language/Preprocessor/Cpphs/RunCpphs.html b/docs/cpphs/Language/Preprocessor/Cpphs/RunCpphs.html
deleted file mode 100644
--- a/docs/cpphs/Language/Preprocessor/Cpphs/RunCpphs.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<pre><a name="(line1)"></a><font color=Blue>{-
-<a name="(line2)"></a>-- The main program for cpphs, a simple C pre-processor written in Haskell.
-<a name="(line3)"></a>
-<a name="(line4)"></a>-- Copyright (c) 2004 Malcolm Wallace
-<a name="(line5)"></a>-- This file is GPL, although the libraries it uses are either standard
-<a name="(line6)"></a>-- Haskell'98 or distributed under the LGPL.
-<a name="(line7)"></a>-}</font>
-<a name="(line8)"></a><font color=Green><u>module</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>RunCpphs <font color=Cyan>(</font> runCpphs <font color=Cyan>)</font> <font color=Green><u>where</u></font>
-<a name="(line9)"></a>
-<a name="(line10)"></a><font color=Green><u>import</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>CppIfdef <font color=Cyan>(</font>cppIfdef<font color=Cyan>)</font>
-<a name="(line11)"></a><font color=Green><u>import</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>MacroPass<font color=Cyan>(</font>macroPass<font color=Cyan>)</font>
-<a name="(line12)"></a><font color=Green><u>import</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>Options  <font color=Cyan>(</font>CpphsOptions<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font><font color=Cyan>,</font> BoolOptions<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="(line13)"></a><font color=Green><u>import</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Unlit <font color=Green><u>as</u></font> Unlit <font color=Cyan>(</font>unlit<font color=Cyan>)</font>
-<a name="(line14)"></a>
-<a name="(line15)"></a>
-<a name="(line16)"></a><a name="runCpphs"></a>runCpphs <font color=Red>::</font> CpphsOptions <font color=Red>-&gt;</font> FilePath <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> String
-<a name="(line17)"></a>runCpphs options filename input <font color=Red>=</font>
-<a name="(line18)"></a>  <font color=Green><u>let</u></font> bools <font color=Red>=</font> boolopts options
-<a name="(line19)"></a>      preInc <font color=Red>=</font> concatMap <font color=Cyan>(</font><font color=Red>\</font>f<font color=Red>-&gt;</font><font color=Magenta>"#include \""</font><font color=Cyan>++</font>f<font color=Cyan>++</font><font color=Magenta>"\"\n"</font><font color=Cyan>)</font> <font color=Cyan>(</font>preInclude options<font color=Cyan>)</font>
-<a name="(line20)"></a><font color=Blue>--             ++ "#line 1\n"</font>
-<a name="(line21)"></a>
-<a name="(line22)"></a>      pass1 <font color=Red>=</font> cppIfdef filename <font color=Cyan>(</font>defines options<font color=Cyan>)</font> <font color=Cyan>(</font>includes options<font color=Cyan>)</font> bools
-<a name="(line23)"></a>                       <font color=Cyan>(</font>preInc<font color=Cyan>++</font>input<font color=Cyan>)</font>
-<a name="(line24)"></a>      pass2 <font color=Red>=</font> macroPass <font color=Cyan>(</font>defines options<font color=Cyan>)</font> bools pass1
-<a name="(line25)"></a>      result<font color=Red>=</font> <font color=Green><u>if</u></font> not <font color=Cyan>(</font>macros bools<font color=Cyan>)</font> <font color=Green><u>then</u></font> unlines <font color=Cyan>(</font>map snd pass1<font color=Cyan>)</font> <font color=Green><u>else</u></font> pass2
-<a name="(line26)"></a>      pass3 <font color=Red>=</font> <font color=Green><u>if</u></font> literate bools <font color=Green><u>then</u></font> Unlit<font color=Cyan>.</font>unlit filename <font color=Green><u>else</u></font> id
-<a name="(line27)"></a>
-<a name="(line28)"></a>  <font color=Green><u>in</u></font> pass3 result
-</pre>
-</html>
diff --git a/docs/cpphs/Language/Preprocessor/Cpphs/SymTab.html b/docs/cpphs/Language/Preprocessor/Cpphs/SymTab.html
deleted file mode 100644
--- a/docs/cpphs/Language/Preprocessor/Cpphs/SymTab.html
+++ /dev/null
@@ -1,90 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<pre><a name="(line1)"></a><font color=Blue>-----------------------------------------------------------------------------</font>
-<a name="(line2)"></a><font color=Blue>-- |</font>
-<a name="(line3)"></a><font color=Blue>-- Module      :  SymTab</font>
-<a name="(line4)"></a><font color=Blue>-- Copyright   :  2000-2004 Malcolm Wallace</font>
-<a name="(line5)"></a><font color=Blue>-- Licence     :  LGPL</font>
-<a name="(line6)"></a><font color=Blue>-- </font>
-<a name="(line7)"></a><font color=Blue>-- Maintainer  :  Malcolm Wallace &lt;Malcolm.Wallace@cs.york.ac.uk&gt;</font>
-<a name="(line8)"></a><font color=Blue>-- Stability   :  Stable</font>
-<a name="(line9)"></a><font color=Blue>-- Portability :  All</font>
-<a name="(line10)"></a><font color=Blue>--</font>
-<a name="(line11)"></a><font color=Blue>-- Symbol Table, based on index trees using a hash on the key.</font>
-<a name="(line12)"></a><font color=Blue>--   Keys are always Strings.  Stored values can be any type.</font>
-<a name="(line13)"></a><font color=Blue>-----------------------------------------------------------------------------</font>
-<a name="(line14)"></a>
-<a name="(line15)"></a><font color=Green><u>module</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>SymTab
-<a name="(line16)"></a>  <font color=Cyan>(</font> SymTab
-<a name="(line17)"></a>  <font color=Cyan>,</font> emptyST
-<a name="(line18)"></a>  <font color=Cyan>,</font> insertST
-<a name="(line19)"></a>  <font color=Cyan>,</font> deleteST
-<a name="(line20)"></a>  <font color=Cyan>,</font> lookupST
-<a name="(line21)"></a>  <font color=Cyan>,</font> definedST
-<a name="(line22)"></a>  <font color=Cyan>,</font> IndTree
-<a name="(line23)"></a>  <font color=Cyan>)</font> <font color=Green><u>where</u></font>
-<a name="(line24)"></a>
-<a name="(line25)"></a><a name="SymTab"></a><font color=Blue>-- | Symbol Table.  Stored values are polymorphic, but the keys are</font>
-<a name="(line26)"></a><a name="SymTab"></a><font color=Blue>--   always strings.</font>
-<a name="(line27)"></a><a name="SymTab"></a><font color=Green><u>type</u></font> SymTab v <font color=Red>=</font> IndTree <font color=Red>[</font><font color=Cyan>(</font>String<font color=Cyan>,</font>v<font color=Cyan>)</font><font color=Red>]</font>
-<a name="(line28)"></a>
-<a name="(line29)"></a><a name="emptyST"></a>emptyST   <font color=Red>::</font> SymTab v
-<a name="(line30)"></a><a name="insertST"></a>insertST  <font color=Red>::</font> <font color=Cyan>(</font>String<font color=Cyan>,</font>v<font color=Cyan>)</font> <font color=Red>-&gt;</font> SymTab v <font color=Red>-&gt;</font> SymTab v
-<a name="(line31)"></a><a name="deleteST"></a>deleteST  <font color=Red>::</font> String <font color=Red>-&gt;</font> SymTab v <font color=Red>-&gt;</font> SymTab v
-<a name="(line32)"></a><a name="lookupST"></a>lookupST  <font color=Red>::</font> String <font color=Red>-&gt;</font> SymTab v <font color=Red>-&gt;</font> Maybe v
-<a name="(line33)"></a><a name="definedST"></a>definedST <font color=Red>::</font> String <font color=Red>-&gt;</font> SymTab v <font color=Red>-&gt;</font> Bool
-<a name="(line34)"></a>
-<a name="(line35)"></a>emptyST           <font color=Red>=</font> itgen maxHash []
-<a name="(line36)"></a>insertST <font color=Cyan>(</font>s<font color=Cyan>,</font>v<font color=Cyan>)</font> ss <font color=Red>=</font> itiap <font color=Cyan>(</font>hash s<font color=Cyan>)</font> <font color=Cyan>(</font><font color=Cyan>(</font>s<font color=Cyan>,</font>v<font color=Cyan>)</font><font color=Red><b>:</b></font><font color=Cyan>)</font>    ss id
-<a name="(line37)"></a>deleteST  s    ss <font color=Red>=</font> itiap <font color=Cyan>(</font>hash s<font color=Cyan>)</font> <font color=Cyan>(</font>filter <font color=Cyan>(</font><font color=Cyan>(</font><font color=Cyan>/=</font>s<font color=Cyan>)</font><font color=Cyan>.</font>fst<font color=Cyan>)</font><font color=Cyan>)</font> ss id
-<a name="(line38)"></a>lookupST  s    ss <font color=Red>=</font> <font color=Green><u>let</u></font> vs <font color=Red>=</font> filter <font color=Cyan>(</font><font color=Cyan>(</font><font color=Cyan>==</font>s<font color=Cyan>)</font><font color=Cyan>.</font>fst<font color=Cyan>)</font> <font color=Cyan>(</font><font color=Cyan>(</font>itind <font color=Cyan>(</font>hash s<font color=Cyan>)</font><font color=Cyan>)</font> ss<font color=Cyan>)</font>
-<a name="(line39)"></a>                    <font color=Green><u>in</u></font> <font color=Green><u>if</u></font> null vs <font color=Green><u>then</u></font> Nothing
-<a name="(line40)"></a>                       <font color=Green><u>else</u></font> <font color=Cyan>(</font>Just <font color=Cyan>.</font> snd <font color=Cyan>.</font> head<font color=Cyan>)</font> vs
-<a name="(line41)"></a>definedST s    ss <font color=Red>=</font> <font color=Green><u>let</u></font> vs <font color=Red>=</font> filter <font color=Cyan>(</font><font color=Cyan>(</font><font color=Cyan>==</font>s<font color=Cyan>)</font><font color=Cyan>.</font>fst<font color=Cyan>)</font> <font color=Cyan>(</font><font color=Cyan>(</font>itind <font color=Cyan>(</font>hash s<font color=Cyan>)</font><font color=Cyan>)</font> ss<font color=Cyan>)</font>
-<a name="(line42)"></a>                    <font color=Green><u>in</u></font> <font color=Cyan>(</font>not <font color=Cyan>.</font> null<font color=Cyan>)</font> vs
-<a name="(line43)"></a>
-<a name="(line44)"></a>
-<a name="(line45)"></a><font color=Blue>----</font>
-<a name="(line46)"></a><font color=Blue>-- | Index Trees (storing indexes at nodes).</font>
-<a name="(line47)"></a>
-<a name="(line48)"></a><a name="IndTree"></a><font color=Green><u>data</u></font> IndTree t <font color=Red>=</font> Leaf t <font color=Red>|</font> Fork Int <font color=Cyan>(</font>IndTree t<font color=Cyan>)</font> <font color=Cyan>(</font>IndTree t<font color=Cyan>)</font>
-<a name="(line49)"></a>     <font color=Green><u>deriving</u></font> Show
-<a name="(line50)"></a>
-<a name="(line51)"></a><a name="itgen"></a>itgen <font color=Red>::</font> Int <font color=Red>-&gt;</font> a <font color=Red>-&gt;</font> IndTree a
-<a name="(line52)"></a>itgen <font color=Magenta>1</font> x <font color=Red>=</font> Leaf x
-<a name="(line53)"></a>itgen n x <font color=Red>=</font>
-<a name="(line54)"></a>  <font color=Green><u>let</u></font> n' <font color=Red>=</font> n <font color=Cyan>`div`</font> <font color=Magenta>2</font>
-<a name="(line55)"></a>  <font color=Green><u>in</u></font> Fork n' <font color=Cyan>(</font>itgen n' x<font color=Cyan>)</font> <font color=Cyan>(</font>itgen <font color=Cyan>(</font>n<font color=Blue>-</font>n'<font color=Cyan>)</font> x<font color=Cyan>)</font>
-<a name="(line56)"></a>
-<a name="(line57)"></a><a name="itiap"></a>itiap <font color=Red>::</font> <font color=Blue>--Eval a =&gt;</font>
-<a name="(line58)"></a>         Int <font color=Red>-&gt;</font> <font color=Cyan>(</font>a<font color=Red>-&gt;</font>a<font color=Cyan>)</font> <font color=Red>-&gt;</font> IndTree a <font color=Red>-&gt;</font> <font color=Cyan>(</font>IndTree a <font color=Red>-&gt;</font> b<font color=Cyan>)</font> <font color=Red>-&gt;</font> b
-<a name="(line59)"></a>itiap <font color=Green><u>_</u></font> f <font color=Cyan>(</font>Leaf x<font color=Cyan>)</font>       k <font color=Red>=</font> <font color=Green><u>let</u></font> fx <font color=Red>=</font> f x <font color=Green><u>in</u></font> <font color=Blue>{-seq fx-}</font> <font color=Cyan>(</font>k <font color=Cyan>(</font>Leaf fx<font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="(line60)"></a>itiap i f <font color=Cyan>(</font>Fork n lt rt<font color=Cyan>)</font> k <font color=Red>=</font>
-<a name="(line61)"></a>  <font color=Green><u>if</u></font> i<font color=Cyan>&lt;</font>n <font color=Green><u>then</u></font>
-<a name="(line62)"></a>       itiap i f lt <font color=Cyan>$</font> <font color=Red>\</font>lt' <font color=Red>-&gt;</font> k <font color=Cyan>(</font>Fork n lt' rt<font color=Cyan>)</font>
-<a name="(line63)"></a>  <font color=Green><u>else</u></font> itiap <font color=Cyan>(</font>i<font color=Blue>-</font>n<font color=Cyan>)</font> f rt <font color=Cyan>$</font> <font color=Red>\</font>rt' <font color=Red>-&gt;</font> k <font color=Cyan>(</font>Fork n lt rt'<font color=Cyan>)</font>
-<a name="(line64)"></a>
-<a name="(line65)"></a><a name="itind"></a>itind <font color=Red>::</font> Int <font color=Red>-&gt;</font> IndTree a <font color=Red>-&gt;</font> a  
-<a name="(line66)"></a>itind <font color=Green><u>_</u></font> <font color=Cyan>(</font>Leaf x<font color=Cyan>)</font> <font color=Red>=</font> x
-<a name="(line67)"></a>itind i <font color=Cyan>(</font>Fork n lt rt<font color=Cyan>)</font> <font color=Red>=</font> <font color=Green><u>if</u></font> i<font color=Cyan>&lt;</font>n <font color=Green><u>then</u></font> itind i lt <font color=Green><u>else</u></font> itind <font color=Cyan>(</font>i<font color=Blue>-</font>n<font color=Cyan>)</font> rt
-<a name="(line68)"></a>
-<a name="(line69)"></a>
-<a name="(line70)"></a><font color=Blue>----</font>
-<a name="(line71)"></a><font color=Blue>-- Hash values</font>
-<a name="(line72)"></a>
-<a name="(line73)"></a><a name="maxHash"></a>maxHash <font color=Red>::</font> Int <font color=Blue>-- should be prime</font>
-<a name="(line74)"></a>maxHash <font color=Red>=</font> <font color=Magenta>101</font>
-<a name="(line75)"></a>
-<a name="(line76)"></a><a name="Hashable"></a><font color=Green><u>class</u></font> Hashable a <font color=Green><u>where</u></font>
-<a name="(line77)"></a>    hashWithMax <font color=Red>::</font> Int <font color=Red>-&gt;</font> a <font color=Red>-&gt;</font> Int
-<a name="(line78)"></a>    hash        <font color=Red>::</font> a <font color=Red>-&gt;</font> Int
-<a name="(line79)"></a>    hash <font color=Red>=</font> hashWithMax maxHash
-<a name="(line80)"></a>
-<a name="(line81)"></a><font color=Green><u>instance</u></font> Enum a <font color=Red>=&gt;</font> Hashable <font color=Red>[</font>a<font color=Red>]</font> <font color=Green><u>where</u></font>
-<a name="(line82)"></a>    hashWithMax m <font color=Red>=</font> h <font color=Magenta>0</font>
-<a name="(line83)"></a>        <font color=Green><u>where</u></font> h a []     <font color=Red>=</font> a
-<a name="(line84)"></a>              h a <font color=Cyan>(</font>c<font color=Red><b>:</b></font>cs<font color=Cyan>)</font> <font color=Red>=</font> h <font color=Cyan>(</font><font color=Cyan>(</font><font color=Magenta>17</font><font color=Cyan>*</font><font color=Cyan>(</font>fromEnum c<font color=Cyan>)</font><font color=Cyan>+</font><font color=Magenta>19</font><font color=Cyan>*</font>a<font color=Cyan>)</font><font color=Cyan>`rem`</font>m<font color=Cyan>)</font> cs
-<a name="(line85)"></a>
-<a name="(line86)"></a><font color=Blue>----</font>
-</pre>
-</html>
diff --git a/docs/cpphs/Language/Preprocessor/Cpphs/Tokenise.html b/docs/cpphs/Language/Preprocessor/Cpphs/Tokenise.html
deleted file mode 100644
--- a/docs/cpphs/Language/Preprocessor/Cpphs/Tokenise.html
+++ /dev/null
@@ -1,275 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<pre><a name="(line1)"></a><font color=Blue>-----------------------------------------------------------------------------</font>
-<a name="(line2)"></a><font color=Blue>-- |</font>
-<a name="(line3)"></a><font color=Blue>-- Module      :  Tokenise</font>
-<a name="(line4)"></a><font color=Blue>-- Copyright   :  2004 Malcolm Wallace</font>
-<a name="(line5)"></a><font color=Blue>-- Licence     :  LGPL</font>
-<a name="(line6)"></a><font color=Blue>--</font>
-<a name="(line7)"></a><font color=Blue>-- Maintainer  :  Malcolm Wallace &lt;Malcolm.Wallace@cs.york.ac.uk&gt;</font>
-<a name="(line8)"></a><font color=Blue>-- Stability   :  experimental</font>
-<a name="(line9)"></a><font color=Blue>-- Portability :  All</font>
-<a name="(line10)"></a><font color=Blue>--</font>
-<a name="(line11)"></a><font color=Blue>-- The purpose of this module is to lex a source file (language</font>
-<a name="(line12)"></a><font color=Blue>-- unspecified) into tokens such that cpp can recognise a replaceable</font>
-<a name="(line13)"></a><font color=Blue>-- symbol or macro-use, and do the right thing.</font>
-<a name="(line14)"></a><font color=Blue>-----------------------------------------------------------------------------</font>
-<a name="(line15)"></a>
-<a name="(line16)"></a><font color=Green><u>module</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>Tokenise
-<a name="(line17)"></a>  <font color=Cyan>(</font> linesCpp
-<a name="(line18)"></a>  <font color=Cyan>,</font> reslash
-<a name="(line19)"></a>  <font color=Cyan>,</font> tokenise
-<a name="(line20)"></a>  <font color=Cyan>,</font> WordStyle<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font>
-<a name="(line21)"></a>  <font color=Cyan>,</font> deWordStyle
-<a name="(line22)"></a>  <font color=Cyan>,</font> parseMacroCall
-<a name="(line23)"></a>  <font color=Cyan>)</font> <font color=Green><u>where</u></font>
-<a name="(line24)"></a>
-<a name="(line25)"></a><font color=Green><u>import</u></font> Char
-<a name="(line26)"></a><font color=Green><u>import</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>HashDefine
-<a name="(line27)"></a><font color=Green><u>import</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs<font color=Cyan>.</font>Position
-<a name="(line28)"></a>
-<a name="(line29)"></a><a name="Mode"></a><font color=Blue>-- | A Mode value describes whether to tokenise a la Haskell, or a la Cpp.</font>
-<a name="(line30)"></a><a name="Mode"></a><font color=Blue>--   The main difference is that in Cpp mode we should recognise line</font>
-<a name="(line31)"></a><a name="Mode"></a><font color=Blue>--   continuation characters.</font>
-<a name="(line32)"></a><a name="Mode"></a><font color=Green><u>data</u></font> Mode <font color=Red>=</font> Haskell <font color=Red>|</font> Cpp
-<a name="(line33)"></a>
-<a name="(line34)"></a><a name="linesCpp"></a><font color=Blue>-- | linesCpp is, broadly speaking, Prelude.lines, except that</font>
-<a name="(line35)"></a><font color=Blue>--   on a line beginning with a \#, line continuation characters are</font>
-<a name="(line36)"></a><font color=Blue>--   recognised.  In a line continuation, the newline character is</font>
-<a name="(line37)"></a><font color=Blue>--   preserved, but the backslash is not.</font>
-<a name="(line38)"></a>linesCpp <font color=Red>::</font> String <font color=Red>-&gt;</font> <font color=Red>[</font>String<font color=Red>]</font>
-<a name="(line39)"></a>linesCpp  []                 <font color=Red>=</font> []
-<a name="(line40)"></a>linesCpp <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>|</font> x<font color=Cyan>==</font><font color=Magenta>'#'</font>     <font color=Red>=</font> tok Cpp     <font color=Red>[</font><font color=Magenta>'#'</font><font color=Red>]</font> xs
-<a name="(line41)"></a>                <font color=Red>|</font> otherwise  <font color=Red>=</font> tok Haskell [] <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font>
-<a name="(line42)"></a>  <font color=Green><u>where</u></font>
-<a name="(line43)"></a>    tok Cpp   acc <font color=Cyan>(</font><font color=Magenta>'\\'</font><font color=Red><b>:</b></font><font color=Magenta>'\n'</font><font color=Red><b>:</b></font>ys<font color=Cyan>)</font>   <font color=Red>=</font> tok Cpp <font color=Cyan>(</font><font color=Magenta>'\n'</font><font color=Red><b>:</b></font>acc<font color=Cyan>)</font> ys
-<a name="(line44)"></a>    tok <font color=Green><u>_</u></font>     acc <font color=Cyan>(</font><font color=Magenta>'\n'</font><font color=Red><b>:</b></font><font color=Magenta>'#'</font><font color=Red><b>:</b></font>ys<font color=Cyan>)</font>    <font color=Red>=</font> reverse acc<font color=Red><b>:</b></font> tok Cpp <font color=Red>[</font><font color=Magenta>'#'</font><font color=Red>]</font> ys
-<a name="(line45)"></a>    tok <font color=Green><u>_</u></font>     acc <font color=Cyan>(</font><font color=Magenta>'\n'</font><font color=Red><b>:</b></font>ys<font color=Cyan>)</font>        <font color=Red>=</font> reverse acc<font color=Red><b>:</b></font> tok Haskell [] ys
-<a name="(line46)"></a>    tok <font color=Green><u>_</u></font>     acc []               <font color=Red>=</font> reverse acc<font color=Red><b>:</b></font> []
-<a name="(line47)"></a>    tok mode  acc <font color=Cyan>(</font>y<font color=Red><b>:</b></font>ys<font color=Cyan>)</font>           <font color=Red>=</font> tok mode <font color=Cyan>(</font>y<font color=Red><b>:</b></font>acc<font color=Cyan>)</font> ys
-<a name="(line48)"></a>
-<a name="(line49)"></a><a name="reslash"></a><font color=Blue>-- | Put back the line-continuation characters.</font>
-<a name="(line50)"></a>reslash <font color=Red>::</font> String <font color=Red>-&gt;</font> String
-<a name="(line51)"></a>reslash <font color=Cyan>(</font><font color=Magenta>'\n'</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>'\\'</font><font color=Red><b>:</b></font><font color=Magenta>'\n'</font><font color=Red><b>:</b></font>reslash xs
-<a name="(line52)"></a>reslash <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font>    <font color=Red>=</font> x<font color=Red><b>:</b></font> reslash xs
-<a name="(line53)"></a>reslash   []      <font color=Red>=</font> []
-<a name="(line54)"></a>
-<a name="(line55)"></a><a name="SubMode"></a><font color=Blue>----</font>
-<a name="(line56)"></a><a name="SubMode"></a><font color=Blue>-- | Submodes are required to deal correctly with nesting of lexical</font>
-<a name="(line57)"></a><a name="SubMode"></a><font color=Blue>--   structures.</font>
-<a name="(line58)"></a><a name="SubMode"></a><font color=Green><u>data</u></font> SubMode <font color=Red>=</font> Any <font color=Red>|</font> Pred <font color=Cyan>(</font>Char<font color=Red>-&gt;</font>Bool<font color=Cyan>)</font> <font color=Cyan>(</font>Posn<font color=Red>-&gt;</font>String<font color=Red>-&gt;</font>WordStyle<font color=Cyan>)</font>
-<a name="(line59)"></a>             <font color=Red>|</font> String Char <font color=Red>|</font> LineComment <font color=Red>|</font> NestComment Int
-<a name="(line60)"></a>             <font color=Red>|</font> CComment <font color=Red>|</font> CLineComment
-<a name="(line61)"></a>
-<a name="(line62)"></a><a name="WordStyle"></a><font color=Blue>-- | Each token is classified as one of Ident, Other, or Cmd:</font>
-<a name="(line63)"></a><a name="WordStyle"></a><font color=Blue>--   * Ident is a word that could potentially match a macro name.</font>
-<a name="(line64)"></a><a name="WordStyle"></a><font color=Blue>--   * Cmd is a complete cpp directive (\#define etc).</font>
-<a name="(line65)"></a><a name="WordStyle"></a><font color=Blue>--   * Other is anything else.</font>
-<a name="(line66)"></a><a name="WordStyle"></a><font color=Green><u>data</u></font> WordStyle <font color=Red>=</font> Ident Posn String <font color=Red>|</font> Other String <font color=Red>|</font> Cmd <font color=Cyan>(</font>Maybe HashDefine<font color=Cyan>)</font>
-<a name="(line67)"></a>  <font color=Green><u>deriving</u></font> <font color=Cyan>(</font>Eq<font color=Cyan>,</font>Show<font color=Cyan>)</font>
-<a name="(line68)"></a><a name="other"></a>other <font color=Red>::</font> Posn <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> WordStyle
-<a name="(line69)"></a>other <font color=Green><u>_</u></font> s <font color=Red>=</font> Other s
-<a name="(line70)"></a>
-<a name="(line71)"></a><a name="deWordStyle"></a>deWordStyle <font color=Red>::</font> WordStyle <font color=Red>-&gt;</font> String
-<a name="(line72)"></a>deWordStyle <font color=Cyan>(</font>Ident <font color=Green><u>_</u></font> i<font color=Cyan>)</font> <font color=Red>=</font> i
-<a name="(line73)"></a>deWordStyle <font color=Cyan>(</font>Other i<font color=Cyan>)</font>   <font color=Red>=</font> i
-<a name="(line74)"></a>deWordStyle <font color=Cyan>(</font>Cmd <font color=Green><u>_</u></font><font color=Cyan>)</font>     <font color=Red>=</font> <font color=Magenta>"\n"</font>
-<a name="(line75)"></a>
-<a name="(line76)"></a><a name="tokenise"></a><font color=Blue>-- | tokenise is, broadly-speaking, Prelude.words, except that:</font>
-<a name="(line77)"></a><font color=Blue>--    * the input is already divided into lines</font>
-<a name="(line78)"></a><font color=Blue>--    * each word-like "token" is categorised as one of {Ident,Other,Cmd}</font>
-<a name="(line79)"></a><font color=Blue>--    * \#define's are parsed and returned out-of-band using the Cmd variant</font>
-<a name="(line80)"></a><font color=Blue>--    * All whitespace is preserved intact as tokens.</font>
-<a name="(line81)"></a><font color=Blue>--    * C-comments are converted to white-space (depending on first param)</font>
-<a name="(line82)"></a><font color=Blue>--    * Parens and commas are tokens in their own right.</font>
-<a name="(line83)"></a><font color=Blue>--    * Any cpp line continuations are respected.</font>
-<a name="(line84)"></a><font color=Blue>--   No errors can be raised.</font>
-<a name="(line85)"></a><font color=Blue>--   The inverse of tokenise is (concatMap deWordStyle).</font>
-<a name="(line86)"></a>tokenise <font color=Red>::</font> Bool <font color=Red>-&gt;</font> Bool <font color=Red>-&gt;</font> Bool <font color=Red>-&gt;</font> Bool <font color=Red>-&gt;</font> <font color=Red>[</font><font color=Cyan>(</font>Posn<font color=Cyan>,</font>String<font color=Cyan>)</font><font color=Red>]</font> <font color=Red>-&gt;</font> <font color=Red>[</font>WordStyle<font color=Red>]</font>
-<a name="(line87)"></a>tokenise <font color=Green><u>_</u></font>        <font color=Green><u>_</u></font>             <font color=Green><u>_</u></font>    <font color=Green><u>_</u></font>     [] <font color=Red>=</font> []
-<a name="(line88)"></a>tokenise stripEol stripComments ansi lang <font color=Cyan>(</font><font color=Cyan>(</font>pos<font color=Cyan>,</font>str<font color=Cyan>)</font><font color=Red><b>:</b></font>pos_strs<font color=Cyan>)</font> <font color=Red>=</font>
-<a name="(line89)"></a>    <font color=Cyan>(</font><font color=Green><u>if</u></font> lang <font color=Green><u>then</u></font> haskell <font color=Green><u>else</u></font> plaintext<font color=Cyan>)</font> Any [] pos pos_strs str
-<a name="(line90)"></a> <font color=Green><u>where</u></font>
-<a name="(line91)"></a>    <font color=Blue>-- rules to lex Haskell</font>
-<a name="(line92)"></a>  haskell <font color=Red>::</font> SubMode <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> Posn <font color=Red>-&gt;</font> <font color=Red>[</font><font color=Cyan>(</font>Posn<font color=Cyan>,</font>String<font color=Cyan>)</font><font color=Red>]</font>
-<a name="(line93)"></a>             <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> <font color=Red>[</font>WordStyle<font color=Red>]</font>
-<a name="(line94)"></a>  haskell Any acc p ls <font color=Cyan>(</font><font color=Magenta>'\n'</font><font color=Red><b>:</b></font><font color=Magenta>'#'</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>      <font color=Red>=</font> emit acc <font color=Cyan>$</font>  <font color=Blue>-- emit "\n" $</font>
-<a name="(line95)"></a>                                            cpp Any haskell [] [] p ls xs
-<a name="(line96)"></a>    <font color=Blue>-- warning: non-maximal munch on comment</font>
-<a name="(line97)"></a>  haskell Any acc p ls <font color=Cyan>(</font><font color=Magenta>'-'</font><font color=Red><b>:</b></font><font color=Magenta>'-'</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>       <font color=Red>=</font> emit acc <font color=Cyan>$</font>
-<a name="(line98)"></a>                                            haskell LineComment <font color=Magenta>"--"</font> p ls xs
-<a name="(line99)"></a>  haskell Any acc p ls <font color=Cyan>(</font><font color=Magenta>'{'</font><font color=Red><b>:</b></font><font color=Magenta>'-'</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>       <font color=Red>=</font> emit acc <font color=Cyan>$</font>
-<a name="(line100)"></a>                                            haskell <font color=Cyan>(</font>NestComment <font color=Magenta>0</font><font color=Cyan>)</font> <font color=Magenta>"-{"</font> p ls xs
-<a name="(line101)"></a>  haskell Any acc p ls <font color=Cyan>(</font><font color=Magenta>'/'</font><font color=Red><b>:</b></font><font color=Magenta>'*'</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>
-<a name="(line102)"></a>                          <font color=Red>|</font> stripComments <font color=Red>=</font> emit acc <font color=Cyan>$</font>
-<a name="(line103)"></a>                                            haskell CComment <font color=Magenta>"  "</font> p ls xs
-<a name="(line104)"></a>  haskell Any acc p ls <font color=Cyan>(</font><font color=Magenta>'/'</font><font color=Red><b>:</b></font><font color=Magenta>'/'</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>
-<a name="(line105)"></a>                          <font color=Red>|</font> stripEol      <font color=Red>=</font> emit acc <font color=Cyan>$</font>
-<a name="(line106)"></a>                                            haskell CLineComment <font color=Magenta>"  "</font> p ls xs
-<a name="(line107)"></a>  haskell Any acc p ls <font color=Cyan>(</font><font color=Magenta>'"'</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>           <font color=Red>=</font> emit acc <font color=Cyan>$</font>
-<a name="(line108)"></a>                                            haskell <font color=Cyan>(</font>String <font color=Magenta>'"'</font><font color=Cyan>)</font> <font color=Red>[</font><font color=Magenta>'"'</font><font color=Red>]</font> p ls xs
-<a name="(line109)"></a>  haskell Any acc p ls <font color=Cyan>(</font><font color=Magenta>'\''</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>          <font color=Red>=</font> emit acc <font color=Cyan>$</font>
-<a name="(line110)"></a>                                            haskell <font color=Cyan>(</font>String <font color=Magenta>'\''</font><font color=Cyan>)</font> <font color=Magenta>"'"</font> p ls xs
-<a name="(line111)"></a>  haskell Any acc p ls <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>|</font> single x  <font color=Red>=</font> emit acc <font color=Cyan>$</font> emit <font color=Red>[</font>x<font color=Red>]</font> <font color=Cyan>$</font>
-<a name="(line112)"></a>                                            haskell Any [] p ls xs
-<a name="(line113)"></a>  haskell Any acc p ls <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>|</font> space x   <font color=Red>=</font> emit acc <font color=Cyan>$</font>
-<a name="(line114)"></a>                                            haskell <font color=Cyan>(</font>Pred space other<font color=Cyan>)</font> <font color=Red>[</font>x<font color=Red>]</font>
-<a name="(line115)"></a>                                                                        p ls xs
-<a name="(line116)"></a>  haskell Any acc p ls <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>|</font> symbol x  <font color=Red>=</font> emit acc <font color=Cyan>$</font>
-<a name="(line117)"></a>                                            haskell <font color=Cyan>(</font>Pred symbol other<font color=Cyan>)</font> <font color=Red>[</font>x<font color=Red>]</font>
-<a name="(line118)"></a>                                                                        p ls xs
-<a name="(line119)"></a> <font color=Blue>-- haskell Any [] p ls (x:xs) | ident0 x  = id $</font>
-<a name="(line120)"></a>  haskell Any acc p ls <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>|</font> ident0 x  <font color=Red>=</font> emit acc <font color=Cyan>$</font>
-<a name="(line121)"></a>                                            haskell <font color=Cyan>(</font>Pred ident1 Ident<font color=Cyan>)</font> <font color=Red>[</font>x<font color=Red>]</font>
-<a name="(line122)"></a>                                                                        p ls xs
-<a name="(line123)"></a>  haskell Any acc p ls <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font>             <font color=Red>=</font> haskell Any <font color=Cyan>(</font>x<font color=Red><b>:</b></font>acc<font color=Cyan>)</font> p ls xs
-<a name="(line124)"></a>
-<a name="(line125)"></a>  haskell pre<font color=Red>@</font><font color=Cyan>(</font>Pred pred ws<font color=Cyan>)</font> acc p ls <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font>
-<a name="(line126)"></a>                        <font color=Red>|</font> pred x    <font color=Red>=</font> haskell pre <font color=Cyan>(</font>x<font color=Red><b>:</b></font>acc<font color=Cyan>)</font> p ls xs
-<a name="(line127)"></a>  haskell <font color=Cyan>(</font>Pred <font color=Green><u>_</u></font> ws<font color=Cyan>)</font> acc p ls xs   <font color=Red>=</font> ws p <font color=Cyan>(</font>reverse acc<font color=Cyan>)</font><font color=Red><b>:</b></font>
-<a name="(line128)"></a>                                      haskell Any [] p ls xs
-<a name="(line129)"></a>  haskell <font color=Cyan>(</font>String c<font color=Cyan>)</font> acc p ls <font color=Cyan>(</font><font color=Magenta>'\\'</font><font color=Red><b>:</b></font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font>
-<a name="(line130)"></a>                        <font color=Red>|</font> x<font color=Cyan>==</font><font color=Magenta>'\\'</font>   <font color=Red>=</font> haskell <font color=Cyan>(</font>String c<font color=Cyan>)</font> <font color=Cyan>(</font><font color=Magenta>'\\'</font><font color=Red><b>:</b></font><font color=Magenta>'\\'</font><font color=Red><b>:</b></font>acc<font color=Cyan>)</font> p ls xs
-<a name="(line131)"></a>                        <font color=Red>|</font> x<font color=Cyan>==</font>c      <font color=Red>=</font> haskell <font color=Cyan>(</font>String c<font color=Cyan>)</font> <font color=Cyan>(</font>c<font color=Red><b>:</b></font><font color=Magenta>'\\'</font><font color=Red><b>:</b></font>acc<font color=Cyan>)</font> p ls xs
-<a name="(line132)"></a>  haskell <font color=Cyan>(</font>String c<font color=Cyan>)</font> acc p ls <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font>
-<a name="(line133)"></a>                        <font color=Red>|</font> x<font color=Cyan>==</font>c      <font color=Red>=</font> emit <font color=Cyan>(</font>c<font color=Red><b>:</b></font>acc<font color=Cyan>)</font> <font color=Cyan>$</font> haskell Any [] p ls xs
-<a name="(line134)"></a>                        <font color=Red>|</font> otherwise <font color=Red>=</font> haskell <font color=Cyan>(</font>String c<font color=Cyan>)</font> <font color=Cyan>(</font>x<font color=Red><b>:</b></font>acc<font color=Cyan>)</font> p ls xs
-<a name="(line135)"></a>  haskell LineComment acc p ls xs<font color=Red>@</font><font color=Cyan>(</font><font color=Magenta>'\n'</font><font color=Red><b>:</b></font><font color=Green><u>_</u></font><font color=Cyan>)</font> <font color=Red>=</font> emit acc <font color=Cyan>$</font> haskell Any [] p ls xs
-<a name="(line136)"></a>  haskell LineComment acc p ls <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font>      <font color=Red>=</font> haskell LineComment <font color=Cyan>(</font>x<font color=Red><b>:</b></font>acc<font color=Cyan>)</font> p ls xs
-<a name="(line137)"></a>  haskell <font color=Cyan>(</font>NestComment n<font color=Cyan>)</font> acc p ls <font color=Cyan>(</font><font color=Magenta>'{'</font><font color=Red><b>:</b></font><font color=Magenta>'-'</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>
-<a name="(line138)"></a>                                    <font color=Red>=</font> haskell <font color=Cyan>(</font>NestComment <font color=Cyan>(</font>n<font color=Cyan>+</font><font color=Magenta>1</font><font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="(line139)"></a>                                                            <font color=Cyan>(</font><font color=Magenta>"-{"</font><font color=Cyan>++</font>acc<font color=Cyan>)</font> p ls xs
-<a name="(line140)"></a>  haskell <font color=Cyan>(</font>NestComment <font color=Magenta>0</font><font color=Cyan>)</font> acc p ls <font color=Cyan>(</font><font color=Magenta>'-'</font><font color=Red><b>:</b></font><font color=Magenta>'}'</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>
-<a name="(line141)"></a>                                    <font color=Red>=</font> emit <font color=Cyan>(</font><font color=Magenta>"}-"</font><font color=Cyan>++</font>acc<font color=Cyan>)</font> <font color=Cyan>$</font> haskell Any [] p ls xs
-<a name="(line142)"></a>  haskell <font color=Cyan>(</font>NestComment n<font color=Cyan>)</font> acc p ls <font color=Cyan>(</font><font color=Magenta>'-'</font><font color=Red><b>:</b></font><font color=Magenta>'}'</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>
-<a name="(line143)"></a>                                    <font color=Red>=</font> haskell <font color=Cyan>(</font>NestComment <font color=Cyan>(</font>n<font color=Blue>-</font><font color=Magenta>1</font><font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="(line144)"></a>                                                            <font color=Cyan>(</font><font color=Magenta>"}-"</font><font color=Cyan>++</font>acc<font color=Cyan>)</font> p ls xs
-<a name="(line145)"></a>  haskell <font color=Cyan>(</font>NestComment n<font color=Cyan>)</font> acc p ls <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> haskell <font color=Cyan>(</font>NestComment n<font color=Cyan>)</font> <font color=Cyan>(</font>x<font color=Red><b>:</b></font>acc<font color=Cyan>)</font>
-<a name="(line146)"></a>                                                                        p ls xs
-<a name="(line147)"></a>  haskell CComment acc p ls <font color=Cyan>(</font><font color=Magenta>'*'</font><font color=Red><b>:</b></font><font color=Magenta>'/'</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>  <font color=Red>=</font> emit <font color=Cyan>(</font><font color=Magenta>"  "</font><font color=Cyan>++</font>acc<font color=Cyan>)</font> <font color=Cyan>$</font>
-<a name="(line148)"></a>                                            haskell Any [] p ls xs
-<a name="(line149)"></a>  haskell CComment acc p ls <font color=Cyan>(</font><font color=Green><u>_</u></font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>        <font color=Red>=</font> haskell CComment <font color=Cyan>(</font><font color=Magenta>' '</font><font color=Red><b>:</b></font>acc<font color=Cyan>)</font> p ls xs
-<a name="(line150)"></a>  haskell CLineComment acc p ls xs<font color=Red>@</font><font color=Cyan>(</font><font color=Magenta>'\n'</font><font color=Red><b>:</b></font><font color=Green><u>_</u></font><font color=Cyan>)</font><font color=Red>=</font> emit acc <font color=Cyan>$</font> haskell Any [] p ls xs
-<a name="(line151)"></a>  haskell CLineComment acc p ls <font color=Cyan>(</font><font color=Green><u>_</u></font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>    <font color=Red>=</font> haskell CLineComment <font color=Cyan>(</font><font color=Magenta>' '</font><font color=Red><b>:</b></font>acc<font color=Cyan>)</font>
-<a name="(line152)"></a>                                                                       p ls xs
-<a name="(line153)"></a>  haskell mode acc <font color=Green><u>_</u></font> <font color=Cyan>(</font><font color=Cyan>(</font>p<font color=Cyan>,</font>l<font color=Cyan>)</font><font color=Red><b>:</b></font>ls<font color=Cyan>)</font> []        <font color=Red>=</font> haskell mode acc p ls <font color=Cyan>(</font><font color=Magenta>'\n'</font><font color=Red><b>:</b></font>l<font color=Cyan>)</font>
-<a name="(line154)"></a>  haskell <font color=Green><u>_</u></font>    acc <font color=Green><u>_</u></font> [] []                <font color=Red>=</font> emit acc <font color=Cyan>$</font> []
-<a name="(line155)"></a>
-<a name="(line156)"></a>  <font color=Blue>-- rules to lex Cpp</font>
-<a name="(line157)"></a>  cpp <font color=Red>::</font> SubMode <font color=Red>-&gt;</font> <font color=Cyan>(</font>SubMode <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> Posn <font color=Red>-&gt;</font> <font color=Red>[</font><font color=Cyan>(</font>Posn<font color=Cyan>,</font>String<font color=Cyan>)</font><font color=Red>]</font>
-<a name="(line158)"></a>                     <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> <font color=Red>[</font>WordStyle<font color=Red>]</font><font color=Cyan>)</font>
-<a name="(line159)"></a>         <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> <font color=Red>[</font>String<font color=Red>]</font> <font color=Red>-&gt;</font> Posn <font color=Red>-&gt;</font> <font color=Red>[</font><font color=Cyan>(</font>Posn<font color=Cyan>,</font>String<font color=Cyan>)</font><font color=Red>]</font>
-<a name="(line160)"></a>         <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> <font color=Red>[</font>WordStyle<font color=Red>]</font>
-<a name="(line161)"></a>  cpp mode next word line pos remaining input <font color=Red>=</font>
-<a name="(line162)"></a>    lexcpp mode word line remaining input
-<a name="(line163)"></a>   <font color=Green><u>where</u></font>
-<a name="(line164)"></a>    lexcpp Any w l ls <font color=Cyan>(</font><font color=Magenta>'/'</font><font color=Red><b>:</b></font><font color=Magenta>'*'</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>   <font color=Red>=</font> lexcpp <font color=Cyan>(</font>NestComment <font color=Magenta>0</font><font color=Cyan>)</font> <font color=Magenta>""</font> <font color=Cyan>(</font>w<font color=Cyan>*/*</font>l<font color=Cyan>)</font> ls xs
-<a name="(line165)"></a>    lexcpp Any w l ls <font color=Cyan>(</font><font color=Magenta>'/'</font><font color=Red><b>:</b></font><font color=Magenta>'/'</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>   <font color=Red>=</font> lexcpp LineComment <font color=Magenta>"  "</font> <font color=Cyan>(</font>w<font color=Cyan>*/*</font>l<font color=Cyan>)</font> ls xs
-<a name="(line166)"></a>    lexcpp Any w l <font color=Cyan>(</font><font color=Cyan>(</font>p<font color=Cyan>,</font>l'<font color=Cyan>)</font><font color=Red><b>:</b></font>ls<font color=Cyan>)</font> <font color=Cyan>(</font><font color=Magenta>'\\'</font><font color=Red><b>:</b></font>[]<font color=Cyan>)</font>  <font color=Red>=</font> cpp Any next [] <font color=Cyan>(</font><font color=Magenta>"\n"</font><font color=Red><b>:</b></font>w<font color=Cyan>*/*</font>l<font color=Cyan>)</font> p ls l'
-<a name="(line167)"></a>    lexcpp Any w l ls <font color=Cyan>(</font><font color=Magenta>'\\'</font><font color=Red><b>:</b></font><font color=Magenta>'\n'</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> lexcpp Any [] <font color=Cyan>(</font><font color=Magenta>"\n"</font><font color=Red><b>:</b></font>w<font color=Cyan>*/*</font>l<font color=Cyan>)</font> ls xs
-<a name="(line168)"></a>    lexcpp Any w l ls xs<font color=Red>@</font><font color=Cyan>(</font><font color=Magenta>'\n'</font><font color=Red><b>:</b></font><font color=Green><u>_</u></font><font color=Cyan>)</font>    <font color=Red>=</font> Cmd <font color=Cyan>(</font>parseHashDefine ansi
-<a name="(line169)"></a>                                                           <font color=Cyan>(</font>reverse <font color=Cyan>(</font>w<font color=Cyan>*/*</font>l<font color=Cyan>)</font><font color=Cyan>)</font><font color=Cyan>)</font><font color=Red><b>:</b></font>
-<a name="(line170)"></a>                                       next Any [] pos ls xs
-<a name="(line171)"></a> <font color=Blue>-- lexcpp Any w l ls ('"':xs)     = lexcpp (String '"') ['"'] (w*/*l) ls xs</font>
-<a name="(line172)"></a> <font color=Blue>-- lexcpp Any w l ls ('\'':xs)    = lexcpp (String '\'') "'"  (w*/*l) ls xs</font>
-<a name="(line173)"></a>    lexcpp Any w l ls <font color=Cyan>(</font><font color=Magenta>'"'</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>       <font color=Red>=</font> lexcpp Any [] <font color=Cyan>(</font><font color=Magenta>"\""</font><font color=Red><b>:</b></font><font color=Cyan>(</font>w<font color=Cyan>*/*</font>l<font color=Cyan>)</font><font color=Cyan>)</font> ls xs
-<a name="(line174)"></a>    lexcpp Any w l ls <font color=Cyan>(</font><font color=Magenta>'\''</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>      <font color=Red>=</font> lexcpp Any [] <font color=Cyan>(</font><font color=Magenta>"'"</font><font color=Red><b>:</b></font> <font color=Cyan>(</font>w<font color=Cyan>*/*</font>l<font color=Cyan>)</font><font color=Cyan>)</font> ls xs
-<a name="(line175)"></a>    lexcpp Any [] l ls <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font>
-<a name="(line176)"></a>                    <font color=Red>|</font> ident0 x  <font color=Red>=</font> lexcpp <font color=Cyan>(</font>Pred ident1 Ident<font color=Cyan>)</font> <font color=Red>[</font>x<font color=Red>]</font> l ls xs
-<a name="(line177)"></a> <font color=Blue>-- lexcpp Any w l ls (x:xs) | ident0 x  = lexcpp (Pred ident1 Ident) [x] (w*/*l) ls xs</font>
-<a name="(line178)"></a>    lexcpp Any w l ls <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font>
-<a name="(line179)"></a>                    <font color=Red>|</font> single x  <font color=Red>=</font> lexcpp Any [] <font color=Cyan>(</font><font color=Red>[</font>x<font color=Red>]</font><font color=Red><b>:</b></font>w<font color=Cyan>*/*</font>l<font color=Cyan>)</font> ls xs
-<a name="(line180)"></a>                    <font color=Red>|</font> space x   <font color=Red>=</font> lexcpp <font color=Cyan>(</font>Pred space other<font color=Cyan>)</font> <font color=Red>[</font>x<font color=Red>]</font> <font color=Cyan>(</font>w<font color=Cyan>*/*</font>l<font color=Cyan>)</font> ls xs
-<a name="(line181)"></a>                    <font color=Red>|</font> symbol x  <font color=Red>=</font> lexcpp <font color=Cyan>(</font>Pred symbol other<font color=Cyan>)</font> <font color=Red>[</font>x<font color=Red>]</font> <font color=Cyan>(</font>w<font color=Cyan>*/*</font>l<font color=Cyan>)</font> ls xs
-<a name="(line182)"></a>                    <font color=Red>|</font> otherwise <font color=Red>=</font> lexcpp Any <font color=Cyan>(</font>x<font color=Red><b>:</b></font>w<font color=Cyan>)</font> l ls xs
-<a name="(line183)"></a>    lexcpp pre<font color=Red>@</font><font color=Cyan>(</font>Pred pred <font color=Green><u>_</u></font><font color=Cyan>)</font> w l ls <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font>
-<a name="(line184)"></a>                    <font color=Red>|</font> pred x    <font color=Red>=</font> lexcpp pre <font color=Cyan>(</font>x<font color=Red><b>:</b></font>w<font color=Cyan>)</font> l ls xs
-<a name="(line185)"></a>    lexcpp <font color=Cyan>(</font>Pred <font color=Green><u>_</u></font> <font color=Green><u>_</u></font><font color=Cyan>)</font> w l ls xs <font color=Red>=</font> lexcpp Any [] <font color=Cyan>(</font>w<font color=Cyan>*/*</font>l<font color=Cyan>)</font> ls xs
-<a name="(line186)"></a>    lexcpp <font color=Cyan>(</font>String c<font color=Cyan>)</font> w l ls <font color=Cyan>(</font><font color=Magenta>'\\'</font><font color=Red><b>:</b></font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font>
-<a name="(line187)"></a>                    <font color=Red>|</font> x<font color=Cyan>==</font><font color=Magenta>'\\'</font>   <font color=Red>=</font> lexcpp <font color=Cyan>(</font>String c<font color=Cyan>)</font> <font color=Cyan>(</font><font color=Magenta>'\\'</font><font color=Red><b>:</b></font><font color=Magenta>'\\'</font><font color=Red><b>:</b></font>w<font color=Cyan>)</font> l ls xs
-<a name="(line188)"></a>                    <font color=Red>|</font> x<font color=Cyan>==</font>c      <font color=Red>=</font> lexcpp <font color=Cyan>(</font>String c<font color=Cyan>)</font> <font color=Cyan>(</font>c<font color=Red><b>:</b></font><font color=Magenta>'\\'</font><font color=Red><b>:</b></font>w<font color=Cyan>)</font> l ls xs
-<a name="(line189)"></a>    lexcpp <font color=Cyan>(</font>String c<font color=Cyan>)</font> w l ls <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font>
-<a name="(line190)"></a>                    <font color=Red>|</font> x<font color=Cyan>==</font>c      <font color=Red>=</font> lexcpp Any [] <font color=Cyan>(</font><font color=Cyan>(</font>c<font color=Red><b>:</b></font>w<font color=Cyan>)</font><font color=Cyan>*/*</font>l<font color=Cyan>)</font> ls xs
-<a name="(line191)"></a>                    <font color=Red>|</font> otherwise <font color=Red>=</font> lexcpp <font color=Cyan>(</font>String c<font color=Cyan>)</font> <font color=Cyan>(</font>x<font color=Red><b>:</b></font>w<font color=Cyan>)</font> l ls xs
-<a name="(line192)"></a>    lexcpp LineComment w l <font color=Cyan>(</font><font color=Cyan>(</font>p<font color=Cyan>,</font>l'<font color=Cyan>)</font><font color=Red><b>:</b></font>ls<font color=Cyan>)</font> <font color=Cyan>(</font><font color=Magenta>'\\'</font><font color=Red><b>:</b></font>[]<font color=Cyan>)</font>
-<a name="(line193)"></a>                             <font color=Red>=</font> cpp LineComment next [] <font color=Cyan>(</font><font color=Cyan>(</font><font color=Magenta>'\n'</font><font color=Red><b>:</b></font>w<font color=Cyan>)</font><font color=Cyan>*/*</font>l<font color=Cyan>)</font> pos ls l'
-<a name="(line194)"></a>    lexcpp LineComment w l ls <font color=Cyan>(</font><font color=Magenta>'\\'</font><font color=Red><b>:</b></font><font color=Magenta>'\n'</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>
-<a name="(line195)"></a>                                <font color=Red>=</font> lexcpp LineComment [] <font color=Cyan>(</font><font color=Cyan>(</font><font color=Magenta>'\n'</font><font color=Red><b>:</b></font>w<font color=Cyan>)</font><font color=Cyan>*/*</font>l<font color=Cyan>)</font> ls xs
-<a name="(line196)"></a>    lexcpp LineComment w l ls xs<font color=Red>@</font><font color=Cyan>(</font><font color=Magenta>'\n'</font><font color=Red><b>:</b></font><font color=Green><u>_</u></font><font color=Cyan>)</font> <font color=Red>=</font> lexcpp Any w l ls xs
-<a name="(line197)"></a>    lexcpp LineComment w l ls <font color=Cyan>(</font><font color=Green><u>_</u></font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>      <font color=Red>=</font> lexcpp LineComment <font color=Cyan>(</font><font color=Magenta>' '</font><font color=Red><b>:</b></font>w<font color=Cyan>)</font> l ls xs
-<a name="(line198)"></a>    lexcpp <font color=Cyan>(</font>NestComment <font color=Green><u>_</u></font><font color=Cyan>)</font> w l ls <font color=Cyan>(</font><font color=Magenta>'*'</font><font color=Red><b>:</b></font><font color=Magenta>'/'</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>
-<a name="(line199)"></a>                                          <font color=Red>=</font> lexcpp Any [] <font color=Cyan>(</font>w<font color=Cyan>*/*</font>l<font color=Cyan>)</font> ls xs
-<a name="(line200)"></a>    lexcpp <font color=Cyan>(</font>NestComment n<font color=Cyan>)</font> w l ls <font color=Cyan>(</font><font color=Green><u>_</u></font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>  <font color=Red>=</font> lexcpp <font color=Cyan>(</font>NestComment n<font color=Cyan>)</font> <font color=Cyan>(</font><font color=Magenta>' '</font><font color=Red><b>:</b></font>w<font color=Cyan>)</font> l
-<a name="(line201)"></a>                                                                        ls xs
-<a name="(line202)"></a>    lexcpp mode w l <font color=Cyan>(</font><font color=Cyan>(</font>p<font color=Cyan>,</font>l'<font color=Cyan>)</font><font color=Red><b>:</b></font>ls<font color=Cyan>)</font> []        <font color=Red>=</font> cpp mode next w l p ls <font color=Cyan>(</font><font color=Magenta>'\n'</font><font color=Red><b>:</b></font>l'<font color=Cyan>)</font>
-<a name="(line203)"></a>    lexcpp <font color=Green><u>_</u></font>    <font color=Green><u>_</u></font> <font color=Green><u>_</u></font> []          []        <font color=Red>=</font> []
-<a name="(line204)"></a>
-<a name="(line205)"></a>    <font color=Blue>-- rules to lex non-Haskell, non-cpp text</font>
-<a name="(line206)"></a>  plaintext <font color=Red>::</font> SubMode <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> Posn <font color=Red>-&gt;</font> <font color=Red>[</font><font color=Cyan>(</font>Posn<font color=Cyan>,</font>String<font color=Cyan>)</font><font color=Red>]</font>
-<a name="(line207)"></a>            <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> <font color=Red>[</font>WordStyle<font color=Red>]</font>
-<a name="(line208)"></a>  plaintext Any acc p ls <font color=Cyan>(</font><font color=Magenta>'\n'</font><font color=Red><b>:</b></font><font color=Magenta>'#'</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>  <font color=Red>=</font> emit acc <font color=Cyan>$</font>  <font color=Blue>-- emit "\n" $</font>
-<a name="(line209)"></a>                                          cpp Any plaintext [] [] p ls xs
-<a name="(line210)"></a>  plaintext Any acc p ls <font color=Cyan>(</font><font color=Magenta>'/'</font><font color=Red><b>:</b></font><font color=Magenta>'*'</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>
-<a name="(line211)"></a>                           <font color=Red>|</font> stripComments <font color=Red>=</font> emit acc <font color=Cyan>$</font>
-<a name="(line212)"></a>                                             plaintext CComment <font color=Magenta>"  "</font> p ls xs
-<a name="(line213)"></a>  plaintext Any acc p ls <font color=Cyan>(</font><font color=Magenta>'/'</font><font color=Red><b>:</b></font><font color=Magenta>'/'</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>
-<a name="(line214)"></a>                                <font color=Red>|</font> stripEol <font color=Red>=</font> emit acc <font color=Cyan>$</font>
-<a name="(line215)"></a>                                             plaintext CLineComment <font color=Magenta>"  "</font> p ls xs
-<a name="(line216)"></a>  plaintext Any acc p ls <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>|</font> single x <font color=Red>=</font> emit acc <font color=Cyan>$</font> emit <font color=Red>[</font>x<font color=Red>]</font> <font color=Cyan>$</font>
-<a name="(line217)"></a>                                             plaintext Any [] p ls xs
-<a name="(line218)"></a>  plaintext Any acc p ls <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>|</font> space x  <font color=Red>=</font> emit acc <font color=Cyan>$</font>
-<a name="(line219)"></a>                                             plaintext <font color=Cyan>(</font>Pred space other<font color=Cyan>)</font> <font color=Red>[</font>x<font color=Red>]</font>
-<a name="(line220)"></a>                                                                        p ls xs
-<a name="(line221)"></a>  plaintext Any acc p ls <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>|</font> ident0 x <font color=Red>=</font> emit acc <font color=Cyan>$</font>
-<a name="(line222)"></a>                                             plaintext <font color=Cyan>(</font>Pred ident1 Ident<font color=Cyan>)</font> <font color=Red>[</font>x<font color=Red>]</font>
-<a name="(line223)"></a>                                                                        p ls xs
-<a name="(line224)"></a>  plaintext Any acc p ls <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font>            <font color=Red>=</font> plaintext Any <font color=Cyan>(</font>x<font color=Red><b>:</b></font>acc<font color=Cyan>)</font> p ls xs
-<a name="(line225)"></a>  plaintext pre<font color=Red>@</font><font color=Cyan>(</font>Pred pred ws<font color=Cyan>)</font> acc p ls <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font>
-<a name="(line226)"></a>                                <font color=Red>|</font> pred x   <font color=Red>=</font> plaintext pre <font color=Cyan>(</font>x<font color=Red><b>:</b></font>acc<font color=Cyan>)</font> p ls xs
-<a name="(line227)"></a>  plaintext <font color=Cyan>(</font>Pred <font color=Green><u>_</u></font> ws<font color=Cyan>)</font> acc p ls xs        <font color=Red>=</font> ws p <font color=Cyan>(</font>reverse acc<font color=Cyan>)</font><font color=Red><b>:</b></font>
-<a name="(line228)"></a>                                             plaintext Any [] p ls xs
-<a name="(line229)"></a>  plaintext CComment acc p ls <font color=Cyan>(</font><font color=Magenta>'*'</font><font color=Red><b>:</b></font><font color=Magenta>'/'</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> emit <font color=Cyan>(</font><font color=Magenta>"  "</font><font color=Cyan>++</font>acc<font color=Cyan>)</font> <font color=Cyan>$</font>
-<a name="(line230)"></a>                                             plaintext Any [] p ls xs
-<a name="(line231)"></a>  plaintext CComment acc p ls <font color=Cyan>(</font><font color=Green><u>_</u></font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>    <font color=Red>=</font> plaintext CComment <font color=Cyan>(</font><font color=Magenta>' '</font><font color=Red><b>:</b></font>acc<font color=Cyan>)</font> p ls xs
-<a name="(line232)"></a>  plaintext CLineComment acc p ls xs<font color=Red>@</font><font color=Cyan>(</font><font color=Magenta>'\n'</font><font color=Red><b>:</b></font><font color=Green><u>_</u></font><font color=Cyan>)</font>
-<a name="(line233)"></a>                                        <font color=Red>=</font> emit acc <font color=Cyan>$</font> plaintext Any [] p ls xs
-<a name="(line234)"></a>  plaintext CLineComment acc p ls <font color=Cyan>(</font><font color=Green><u>_</u></font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font><font color=Red>=</font> plaintext CLineComment <font color=Cyan>(</font><font color=Magenta>' '</font><font color=Red><b>:</b></font>acc<font color=Cyan>)</font>
-<a name="(line235)"></a>                                                                       p ls xs
-<a name="(line236)"></a>  plaintext mode acc <font color=Green><u>_</u></font> <font color=Cyan>(</font><font color=Cyan>(</font>p<font color=Cyan>,</font>l<font color=Cyan>)</font><font color=Red><b>:</b></font>ls<font color=Cyan>)</font> []    <font color=Red>=</font> plaintext mode acc p ls <font color=Cyan>(</font><font color=Magenta>'\n'</font><font color=Red><b>:</b></font>l<font color=Cyan>)</font>
-<a name="(line237)"></a>  plaintext <font color=Green><u>_</u></font>    acc <font color=Green><u>_</u></font> [] []            <font color=Red>=</font> emit acc <font color=Cyan>$</font> []
-<a name="(line238)"></a>
-<a name="(line239)"></a>  <font color=Blue>-- predicates for lexing Haskell.</font>
-<a name="(line240)"></a>  ident0 x <font color=Red>=</font> isAlpha x    <font color=Cyan>||</font> x <font color=Cyan>`elem`</font> <font color=Magenta>"_`"</font>
-<a name="(line241)"></a>  ident1 x <font color=Red>=</font> isAlphaNum x <font color=Cyan>||</font> x <font color=Cyan>`elem`</font> <font color=Magenta>"'_`"</font>
-<a name="(line242)"></a>  symbol x <font color=Red>=</font> x <font color=Cyan>`elem`</font> <font color=Magenta>":!#$%&amp;*+./&lt;=&gt;?@\\^|-~"</font>
-<a name="(line243)"></a>  single x <font color=Red>=</font> x <font color=Cyan>`elem`</font> <font color=Magenta>"(),[];{}"</font>
-<a name="(line244)"></a>  space  x <font color=Red>=</font> x <font color=Cyan>`elem`</font> <font color=Magenta>" \t"</font>
-<a name="(line245)"></a>  <font color=Blue>-- emit a token (if there is one) from the accumulator</font>
-<a name="(line246)"></a>  emit <font color=Magenta>""</font>  <font color=Red>=</font> id
-<a name="(line247)"></a>  emit xs  <font color=Red>=</font> <font color=Cyan>(</font>Other <font color=Cyan>(</font>reverse xs<font color=Cyan>)</font><font color=Red><b>:</b></font><font color=Cyan>)</font>
-<a name="(line248)"></a>  <font color=Blue>-- add a reversed word to the accumulator</font>
-<a name="(line249)"></a>  <font color=Magenta>""</font> <font color=Cyan>*/*</font> l <font color=Red>=</font> l
-<a name="(line250)"></a>  w <font color=Cyan>*/*</font> l  <font color=Red>=</font> reverse w <font color=Red><b>:</b></font> l
-<a name="(line251)"></a>  <font color=Blue>-- help out broken Haskell compilers which need balanced numbers of C</font>
-<a name="(line252)"></a>  <font color=Blue>-- comments in order to do import chasing :-)  -----&gt;   */*</font>
-<a name="(line253)"></a>
-<a name="(line254)"></a>
-<a name="(line255)"></a><a name="parseMacroCall"></a><font color=Blue>-- | Parse a possible macro call, returning argument list and remaining input</font>
-<a name="(line256)"></a>parseMacroCall <font color=Red>::</font> Posn <font color=Red>-&gt;</font> <font color=Red>[</font>WordStyle<font color=Red>]</font> <font color=Red>-&gt;</font> Maybe <font color=Cyan>(</font><font color=Red>[</font><font color=Red>[</font>WordStyle<font color=Red>]</font><font color=Red>]</font><font color=Cyan>,</font><font color=Red>[</font>WordStyle<font color=Red>]</font><font color=Cyan>)</font>
-<a name="(line257)"></a>parseMacroCall p <font color=Red>=</font> call <font color=Cyan>.</font> skip
-<a name="(line258)"></a>  <font color=Green><u>where</u></font>
-<a name="(line259)"></a>    skip <font color=Cyan>(</font>Other x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>|</font> all isSpace x <font color=Red>=</font> skip xs
-<a name="(line260)"></a>    skip xss                          <font color=Red>=</font> xss
-<a name="(line261)"></a>    call <font color=Cyan>(</font>Other <font color=Magenta>"("</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>   <font color=Red>=</font> <font color=Cyan>(</font>args <font color=Cyan>(</font><font color=Magenta>0</font><font color=Red>::</font>Int<font color=Cyan>)</font> [] [] <font color=Cyan>.</font> skip<font color=Cyan>)</font> xs
-<a name="(line262)"></a>    call <font color=Green><u>_</u></font>                <font color=Red>=</font> Nothing
-<a name="(line263)"></a>    args <font color=Magenta>0</font> w acc <font color=Cyan>(</font>   Other <font color=Magenta>")"</font> <font color=Red><b>:</b></font>xs<font color=Cyan>)</font>  <font color=Red>=</font> Just <font color=Cyan>(</font>reverse <font color=Cyan>(</font>addone w acc<font color=Cyan>)</font><font color=Cyan>,</font> xs<font color=Cyan>)</font>
-<a name="(line264)"></a>    args <font color=Magenta>0</font> w acc <font color=Cyan>(</font>   Other <font color=Magenta>","</font> <font color=Red><b>:</b></font>xs<font color=Cyan>)</font>  <font color=Red>=</font> args <font color=Magenta>0</font>     []   <font color=Cyan>(</font>addone w acc<font color=Cyan>)</font> <font color=Cyan>(</font>skip xs<font color=Cyan>)</font>
-<a name="(line265)"></a>    args n w acc <font color=Cyan>(</font>x<font color=Red>@</font><font color=Cyan>(</font>Other <font color=Magenta>"("</font><font color=Cyan>)</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>  <font color=Red>=</font> args <font color=Cyan>(</font>n<font color=Cyan>+</font><font color=Magenta>1</font><font color=Cyan>)</font> <font color=Cyan>(</font>x<font color=Red><b>:</b></font>w<font color=Cyan>)</font>         acc    xs
-<a name="(line266)"></a>    args n w acc <font color=Cyan>(</font>x<font color=Red>@</font><font color=Cyan>(</font>Other <font color=Magenta>")"</font><font color=Cyan>)</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>  <font color=Red>=</font> args <font color=Cyan>(</font>n<font color=Blue>-</font><font color=Magenta>1</font><font color=Cyan>)</font> <font color=Cyan>(</font>x<font color=Red><b>:</b></font>w<font color=Cyan>)</font>         acc    xs
-<a name="(line267)"></a>    args n w acc <font color=Cyan>(</font>   Ident <font color=Green><u>_</u></font> v <font color=Red><b>:</b></font>xs<font color=Cyan>)</font>  <font color=Red>=</font> args n     <font color=Cyan>(</font>Ident p v<font color=Red><b>:</b></font>w<font color=Cyan>)</font> acc    xs
-<a name="(line268)"></a>    args n w acc <font color=Cyan>(</font>x<font color=Red>@</font><font color=Cyan>(</font>Other <font color=Green><u>_</u></font><font color=Cyan>)</font>  <font color=Red><b>:</b></font>xs<font color=Cyan>)</font>  <font color=Red>=</font> args n     <font color=Cyan>(</font>x<font color=Red><b>:</b></font>w<font color=Cyan>)</font>         acc    xs
-<a name="(line269)"></a>    args <font color=Green><u>_</u></font> <font color=Green><u>_</u></font> <font color=Green><u>_</u></font>   <font color=Green><u>_</u></font>                   <font color=Red>=</font> Nothing
-<a name="(line270)"></a>    addone w acc <font color=Red>=</font> reverse <font color=Cyan>(</font>skip w<font color=Cyan>)</font><font color=Red><b>:</b></font> acc
-<a name="(line271)"></a>
-</pre>
-</html>
diff --git a/docs/cpphs/Language/Preprocessor/Unlit.html b/docs/cpphs/Language/Preprocessor/Unlit.html
deleted file mode 100644
--- a/docs/cpphs/Language/Preprocessor/Unlit.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<pre><a name="(line1)"></a><font color=Blue>-- | Part of this code is from "Report on the Programming Language Haskell",</font>
-<a name="(line2)"></a><font color=Blue>--   version 1.2, appendix C.</font>
-<a name="(line3)"></a><font color=Green><u>module</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Unlit <font color=Cyan>(</font>unlit<font color=Cyan>)</font> <font color=Green><u>where</u></font>
-<a name="(line4)"></a>
-<a name="(line5)"></a><font color=Green><u>import</u></font> Char
-<a name="(line6)"></a>
-<a name="(line7)"></a><a name="Classified"></a><font color=Green><u>data</u></font> Classified <font color=Red>=</font> Program String <font color=Red>|</font> Blank <font color=Red>|</font> Comment
-<a name="(line8)"></a>                <font color=Red>|</font> Include Int String <font color=Red>|</font> Pre String
-<a name="(line9)"></a>
-<a name="(line10)"></a><a name="classify"></a>classify <font color=Red>::</font> <font color=Red>[</font>String<font color=Red>]</font> <font color=Red>-&gt;</font> <font color=Red>[</font>Classified<font color=Red>]</font>
-<a name="(line11)"></a>classify []                <font color=Red>=</font> []
-<a name="(line12)"></a>classify <font color=Cyan>(</font><font color=Cyan>(</font><font color=Magenta>'\\'</font><font color=Red><b>:</b></font>x<font color=Cyan>)</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>|</font> x <font color=Cyan>==</font> <font color=Magenta>"begin{code}"</font> <font color=Red>=</font> Blank <font color=Red><b>:</b></font> allProg xs
-<a name="(line13)"></a>   <font color=Green><u>where</u></font> allProg [] <font color=Red>=</font> []  <font color=Blue>-- Should give an error message,</font>
-<a name="(line14)"></a>                          <font color=Blue>-- but I have no good position information.</font>
-<a name="(line15)"></a>         allProg <font color=Cyan>(</font><font color=Cyan>(</font><font color=Magenta>'\\'</font><font color=Red><b>:</b></font>x<font color=Cyan>)</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>|</font>  x <font color=Cyan>==</font> <font color=Magenta>"end{code}"</font> <font color=Red>=</font> Blank <font color=Red><b>:</b></font> classify xs
-<a name="(line16)"></a>	 allProg <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> Program x<font color=Red><b>:</b></font>allProg xs
-<a name="(line17)"></a>classify <font color=Cyan>(</font><font color=Cyan>(</font><font color=Magenta>'&gt;'</font><font color=Red><b>:</b></font>x<font color=Cyan>)</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>      <font color=Red>=</font> Program <font color=Cyan>(</font><font color=Magenta>' '</font><font color=Red><b>:</b></font>x<font color=Cyan>)</font> <font color=Red><b>:</b></font> classify xs
-<a name="(line18)"></a>classify <font color=Cyan>(</font><font color=Cyan>(</font><font color=Magenta>'#'</font><font color=Red><b>:</b></font>x<font color=Cyan>)</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font>      <font color=Red>=</font> <font color=Cyan>(</font><font color=Green><u>case</u></font> words x <font color=Green><u>of</u></font>
-<a name="(line19)"></a>                                <font color=Cyan>(</font>line<font color=Red><b>:</b></font>rest<font color=Cyan>)</font> <font color=Red>|</font> all isDigit line
-<a name="(line20)"></a>                                   <font color=Red>-&gt;</font> Include <font color=Cyan>(</font>read line<font color=Cyan>)</font> <font color=Cyan>(</font>unwords rest<font color=Cyan>)</font>
-<a name="(line21)"></a>                                <font color=Green><u>_</u></font>  <font color=Red>-&gt;</font> Pre x
-<a name="(line22)"></a>                             <font color=Cyan>)</font> <font color=Red><b>:</b></font> classify xs
-<a name="(line23)"></a>classify <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>|</font> all isSpace x <font color=Red>=</font> Blank<font color=Red><b>:</b></font>classify xs
-<a name="(line24)"></a>classify <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font>                 <font color=Red>=</font> Comment<font color=Red><b>:</b></font>classify xs
-<a name="(line25)"></a>
-<a name="(line26)"></a><a name="unclassify"></a>unclassify <font color=Red>::</font> Classified <font color=Red>-&gt;</font> String
-<a name="(line27)"></a>unclassify <font color=Cyan>(</font>Program s<font color=Cyan>)</font> <font color=Red>=</font> s
-<a name="(line28)"></a>unclassify <font color=Cyan>(</font>Pre s<font color=Cyan>)</font>     <font color=Red>=</font> <font color=Magenta>'#'</font><font color=Red><b>:</b></font>s
-<a name="(line29)"></a>unclassify <font color=Cyan>(</font>Include i f<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>'#'</font><font color=Red><b>:</b></font><font color=Magenta>' '</font><font color=Red><b>:</b></font>show i <font color=Cyan>++</font> <font color=Magenta>' '</font><font color=Red><b>:</b></font>f
-<a name="(line30)"></a>unclassify Blank       <font color=Red>=</font> <font color=Magenta>""</font>
-<a name="(line31)"></a>unclassify Comment     <font color=Red>=</font> <font color=Magenta>""</font>
-<a name="(line32)"></a>
-<a name="(line33)"></a><a name="unlit"></a><font color=Blue>-- | 'unlit' takes a filename (for error reports), and transforms the</font>
-<a name="(line34)"></a><font color=Blue>--   given string, to eliminate the literate comments from the program text.</font>
-<a name="(line35)"></a>unlit <font color=Red>::</font> FilePath <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> String
-<a name="(line36)"></a>unlit file lhs <font color=Red>=</font> <font color=Cyan>(</font>unlines
-<a name="(line37)"></a>                 <font color=Cyan>.</font> map unclassify
-<a name="(line38)"></a>                 <font color=Cyan>.</font> adjacent file <font color=Cyan>(</font><font color=Magenta>0</font><font color=Red>::</font>Int<font color=Cyan>)</font> Blank
-<a name="(line39)"></a>                 <font color=Cyan>.</font> classify<font color=Cyan>)</font> <font color=Cyan>(</font>inlines lhs<font color=Cyan>)</font>
-<a name="(line40)"></a>
-<a name="(line41)"></a><a name="adjacent"></a>adjacent <font color=Red>::</font> FilePath <font color=Red>-&gt;</font> Int <font color=Red>-&gt;</font> Classified <font color=Red>-&gt;</font> <font color=Red>[</font>Classified<font color=Red>]</font> <font color=Red>-&gt;</font> <font color=Red>[</font>Classified<font color=Red>]</font>
-<a name="(line42)"></a>adjacent file <font color=Magenta>0</font> <font color=Green><u>_</u></font>             <font color=Cyan>(</font>x              <font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> x <font color=Red><b>:</b></font> adjacent file <font color=Magenta>1</font> x xs <font color=Blue>-- force evaluation of line number</font>
-<a name="(line43)"></a>adjacent file n y<font color=Red>@</font><font color=Cyan>(</font>Program <font color=Green><u>_</u></font><font color=Cyan>)</font> <font color=Cyan>(</font>x<font color=Red>@</font>Comment      <font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> error <font color=Cyan>(</font>message file n <font color=Magenta>"program"</font> <font color=Magenta>"comment"</font><font color=Cyan>)</font>
-<a name="(line44)"></a>adjacent file n y<font color=Red>@</font><font color=Cyan>(</font>Program <font color=Green><u>_</u></font><font color=Cyan>)</font> <font color=Cyan>(</font>x<font color=Red>@</font><font color=Cyan>(</font>Include i f<font color=Cyan>)</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> x<font color=Red><b>:</b></font> adjacent f    i     y xs
-<a name="(line45)"></a>adjacent file n y<font color=Red>@</font><font color=Cyan>(</font>Program <font color=Green><u>_</u></font><font color=Cyan>)</font> <font color=Cyan>(</font>x<font color=Red>@</font><font color=Cyan>(</font>Pre <font color=Green><u>_</u></font><font color=Cyan>)</font>      <font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> x<font color=Red><b>:</b></font> adjacent file <font color=Cyan>(</font>n<font color=Cyan>+</font><font color=Magenta>1</font><font color=Cyan>)</font> y xs
-<a name="(line46)"></a>adjacent file n y<font color=Red>@</font>Comment     <font color=Cyan>(</font>x<font color=Red>@</font><font color=Cyan>(</font>Program <font color=Green><u>_</u></font><font color=Cyan>)</font>  <font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> error <font color=Cyan>(</font>message file n <font color=Magenta>"comment"</font> <font color=Magenta>"program"</font><font color=Cyan>)</font>
-<a name="(line47)"></a>adjacent file n y<font color=Red>@</font>Comment     <font color=Cyan>(</font>x<font color=Red>@</font><font color=Cyan>(</font>Include i f<font color=Cyan>)</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> x<font color=Red><b>:</b></font> adjacent f    i     y xs
-<a name="(line48)"></a>adjacent file n y<font color=Red>@</font>Comment     <font color=Cyan>(</font>x<font color=Red>@</font><font color=Cyan>(</font>Pre <font color=Green><u>_</u></font><font color=Cyan>)</font>      <font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> x<font color=Red><b>:</b></font> adjacent file <font color=Cyan>(</font>n<font color=Cyan>+</font><font color=Magenta>1</font><font color=Cyan>)</font> y xs
-<a name="(line49)"></a>adjacent file n y<font color=Red>@</font>Blank       <font color=Cyan>(</font>x<font color=Red>@</font><font color=Cyan>(</font>Include i f<font color=Cyan>)</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> x<font color=Red><b>:</b></font> adjacent f    i     y xs
-<a name="(line50)"></a>adjacent file n y<font color=Red>@</font>Blank       <font color=Cyan>(</font>x<font color=Red>@</font><font color=Cyan>(</font>Pre <font color=Green><u>_</u></font><font color=Cyan>)</font>      <font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> x<font color=Red><b>:</b></font> adjacent file <font color=Cyan>(</font>n<font color=Cyan>+</font><font color=Magenta>1</font><font color=Cyan>)</font> y xs
-<a name="(line51)"></a>adjacent file n <font color=Green><u>_</u></font>             <font color=Cyan>(</font>x<font color=Red>@</font>next         <font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> x<font color=Red><b>:</b></font> adjacent file <font color=Cyan>(</font>n<font color=Cyan>+</font><font color=Magenta>1</font><font color=Cyan>)</font> x xs
-<a name="(line52)"></a>adjacent file n <font color=Green><u>_</u></font>             []                   <font color=Red>=</font> []
-<a name="(line53)"></a>
-<a name="(line54)"></a><a name="message"></a>message <font color=Red>::</font> String <font color=Red>-&gt;</font> Int <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> String
-<a name="(line55)"></a>message <font color=Magenta>"\"\""</font> n p c <font color=Red>=</font> <font color=Magenta>"Line "</font><font color=Cyan>++</font>show n<font color=Cyan>++</font><font color=Magenta>": "</font><font color=Cyan>++</font>p<font color=Cyan>++</font> <font color=Magenta>" line before "</font><font color=Cyan>++</font>c<font color=Cyan>++</font><font color=Magenta>" line.\n"</font>
-<a name="(line56)"></a>message []     n p c <font color=Red>=</font> <font color=Magenta>"Line "</font><font color=Cyan>++</font>show n<font color=Cyan>++</font><font color=Magenta>": "</font><font color=Cyan>++</font>p<font color=Cyan>++</font> <font color=Magenta>" line before "</font><font color=Cyan>++</font>c<font color=Cyan>++</font><font color=Magenta>" line.\n"</font>
-<a name="(line57)"></a>message file   n p c <font color=Red>=</font> <font color=Magenta>"In file "</font> <font color=Cyan>++</font> file <font color=Cyan>++</font> <font color=Magenta>" at line "</font><font color=Cyan>++</font>show n<font color=Cyan>++</font><font color=Magenta>": "</font><font color=Cyan>++</font>p<font color=Cyan>++</font> <font color=Magenta>" line before "</font><font color=Cyan>++</font>c<font color=Cyan>++</font><font color=Magenta>" line.\n"</font>
-<a name="(line58)"></a>
-<a name="(line59)"></a>
-<a name="(line60)"></a><a name="inlines"></a><font color=Blue>-- Re-implementation of 'lines', for better efficiency (but decreased laziness).</font>
-<a name="(line61)"></a><font color=Blue>-- Also, importantly, accepts non-standard DOS and Mac line ending characters.</font>
-<a name="(line62)"></a>inlines <font color=Red>::</font> String <font color=Red>-&gt;</font> <font color=Red>[</font>String<font color=Red>]</font>
-<a name="(line63)"></a>inlines s <font color=Red>=</font> lines' s id
-<a name="(line64)"></a>  <font color=Green><u>where</u></font>
-<a name="(line65)"></a>  lines' []             acc <font color=Red>=</font> <font color=Red>[</font>acc []<font color=Red>]</font>
-<a name="(line66)"></a>  lines' <font color=Cyan>(</font><font color=Magenta>'\^M'</font><font color=Red><b>:</b></font><font color=Magenta>'\n'</font><font color=Red><b>:</b></font>s<font color=Cyan>)</font> acc <font color=Red>=</font> acc [] <font color=Red><b>:</b></font> lines' s id	<font color=Blue>-- DOS</font>
-<a name="(line67)"></a>  lines' <font color=Cyan>(</font><font color=Magenta>'\^M'</font><font color=Red><b>:</b></font>s<font color=Cyan>)</font>      acc <font color=Red>=</font> acc [] <font color=Red><b>:</b></font> lines' s id	<font color=Blue>-- MacOS</font>
-<a name="(line68)"></a>  lines' <font color=Cyan>(</font><font color=Magenta>'\n'</font><font color=Red><b>:</b></font>s<font color=Cyan>)</font>       acc <font color=Red>=</font> acc [] <font color=Red><b>:</b></font> lines' s id	<font color=Blue>-- Unix</font>
-<a name="(line69)"></a>  lines' <font color=Cyan>(</font>c<font color=Red><b>:</b></font>s<font color=Cyan>)</font>          acc <font color=Red>=</font> lines' s <font color=Cyan>(</font>acc <font color=Cyan>.</font> <font color=Cyan>(</font>c<font color=Red><b>:</b></font><font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="(line70)"></a>
-</pre>
-</html>
diff --git a/docs/cpphs/Main.html b/docs/cpphs/Main.html
deleted file mode 100644
--- a/docs/cpphs/Main.html
+++ /dev/null
@@ -1,360 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->Main</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock.js" TYPE="text/javascript"
-></SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="Main.html"
->Source code</A
-></TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->Main</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Aversion"
->version</A
-> :: String</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Amain"
->main</A
-> :: IO ()</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Aexecute"
->execute</A
-> :: <A HREF="Language-Preprocessor-Cpphs-Options.html#t%3ACpphsOptions"
->CpphsOptions</A
-> -&gt; Maybe FilePath -&gt; Maybe FilePath -&gt; IO ()</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="#t%3AConvertArgs"
->ConvertArgs</A
->  = <A HREF="#v%3AConvertArgs"
->ConvertArgs</A
-> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Atraditional"
->traditional</A
->, <A HREF="#v%3Astrip"
->strip</A
-> :: Bool</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Ainfile"
->infile</A
->, <A HREF="#v%3Aoutfile"
->outfile</A
-> :: String</TD
-></TR
-></TABLE
->}</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AconvertArgs"
->convertArgs</A
-> :: [String] -&gt; [String]</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Aversion"
-></A
-><B
->version</B
-> :: String</TD
-><TD CLASS="declbut"
-><A HREF="Main.html#version"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Amain"
-></A
-><B
->main</B
-> :: IO ()</TD
-><TD CLASS="declbut"
-><A HREF="Main.html#main"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Aexecute"
-></A
-><B
->execute</B
-> :: <A HREF="Language-Preprocessor-Cpphs-Options.html#t%3ACpphsOptions"
->CpphsOptions</A
-> -&gt; Maybe FilePath -&gt; Maybe FilePath -&gt; IO ()</TD
-><TD CLASS="declbut"
-><A HREF="Main.html#execute"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Execute the preprocessor.
-   If the filepath is Nothing then default to stdout/stdin as appropriate.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t%3AConvertArgs"
-></A
-><B
->ConvertArgs</B
-> </TD
-><TD CLASS="declbut"
-><A HREF="Main.html#ConvertArgs"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->Convert commandline options to remain compatible with cpp.
-   Based on a shell script cpphs.compat
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v%3AConvertArgs"
-></A
-><B
->ConvertArgs</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="body" COLSPAN="2"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Atraditional"
-></A
-><B
->traditional</B
->, <A NAME="v%3Astrip"
-></A
-><B
->strip</B
-> :: Bool</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Ainfile"
-></A
-><B
->infile</B
->, <A NAME="v%3Aoutfile"
-></A
-><B
->outfile</B
-> :: String</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AconvertArgs"
-></A
-><B
->convertArgs</B
-> :: [String] -&gt; [String]</TD
-><TD CLASS="declbut"
-><A HREF="Main.html#convertArgs"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 0.8</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/Text-ParserCombinators-HuttonMeijer.html b/docs/cpphs/Text-ParserCombinators-HuttonMeijer.html
deleted file mode 100644
--- a/docs/cpphs/Text-ParserCombinators-HuttonMeijer.html
+++ /dev/null
@@ -1,1563 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->Text.ParserCombinators.HuttonMeijer</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock.js" TYPE="text/javascript"
-></SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html"
->Source code</A
-></TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->Text.ParserCombinators.HuttonMeijer</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Copyright   :  Graham Hutton (University of Nottingham), Erik Meijer (University of Utrecht)
-</P
-><P
->Maintainer  :  Malcolm Wallace <A HREF="Malcolm.Wallace@cs.york.ac.uk"
->Malcolm.Wallace@cs.york.ac.uk</A
->
- Stability   :  Stable
- Portability :  All
-</P
-><P
->A LIBRARY OF MONADIC PARSER COMBINATORS
-</P
-><P
->29th July 1996
-</P
-><P
->Graham Hutton               Erik Meijer
-             University of Nottingham    University of Utrecht
-</P
-><P
->This Haskell script defines a library of parser combinators, and is
- taken from sections 1-6 of our article <A HREF="Monadic Parser Combinators.html"
->Monadic Parser Combinators</A
->.
- Some changes to the library have been made in the move from Gofer
- to Haskell:
-</P
-><UL
-><LI
-> Do notation is used in place of monad comprehension notation;
-</LI
-><LI
-> The parser datatype is defined using <A HREF="newtype.html"
->newtype</A
->, to avoid the overhead
-      of tagging and untagging parsers with the P constructor.
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->newtype</SPAN
-> <A HREF="#t%3AParser"
->Parser</A
-> a = <A HREF="#v%3AP"
->P</A
-> ([Token] -&gt; [(a, [Token])])</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Aitem"
->item</A
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> Token</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Afirst"
->first</A
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Apapply"
->papply</A
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; [Token] -&gt; [(a, [Token])]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3A%2B%2B%2B"
->(+++)</A
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Asat"
->sat</A
-> :: (Token -&gt; Bool) -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> Token</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Amany"
->many</A
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> [a]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Amany1"
->many1</A
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> [a]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Asepby"
->sepby</A
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> b -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> [a]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Asepby1"
->sepby1</A
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> b -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> [a]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Achainl"
->chainl</A
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> (a -&gt; a -&gt; a) -&gt; a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Achainl1"
->chainl1</A
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> (a -&gt; a -&gt; a) -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Achainr"
->chainr</A
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> (a -&gt; a -&gt; a) -&gt; a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Achainr1"
->chainr1</A
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> (a -&gt; a -&gt; a) -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Aops"
->ops</A
-> :: [(<A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a, b)] -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> b</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Abracket"
->bracket</A
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> b -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> c -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> b</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Achar"
->char</A
-> :: Char -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> Char</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Adigit"
->digit</A
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> Char</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Alower"
->lower</A
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> Char</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Aupper"
->upper</A
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> Char</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Aletter"
->letter</A
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> Char</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Aalphanum"
->alphanum</A
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> Char</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Astring"
->string</A
-> :: String -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> String</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Aident"
->ident</A
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> String</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Anat"
->nat</A
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> Int</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Aint"
->int</A
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> Int</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Aspaces"
->spaces</A
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> ()</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Acomment"
->comment</A
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> ()</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Ajunk"
->junk</A
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> ()</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Askip"
->skip</A
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Atoken"
->token</A
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Anatural"
->natural</A
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> Int</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Ainteger"
->integer</A
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> Int</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Asymbol"
->symbol</A
-> :: String -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> String</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Aidentifier"
->identifier</A
-> :: [String] -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> String</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><SPAN CLASS="keyword"
->newtype</SPAN
-> <A NAME="t%3AParser"
-></A
-><B
->Parser</B
-> a</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#Parser"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->The parser monad
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v%3AP"
-></A
-><B
->P</B
-> ([Token] -&gt; [(a, [Token])])</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section4"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Parser')" ALT="show/hide"
-> Instances</TD
-></TR
-><TR
-><TD CLASS="body"
-><DIV ID="i:Parser" STYLE="display:block;"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
->Functor <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->Monad <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->MonadPlus <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-></TD
-></TR
-></TABLE
-></DIV
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Aitem"
-></A
-><B
->item</B
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> Token</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#item"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Afirst"
-></A
-><B
->first</B
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#first"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Apapply"
-></A
-><B
->papply</B
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; [Token] -&gt; [(a, [Token])]</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#papply"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3A%2B%2B%2B"
-></A
-><B
->(+++)</B
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#%2B%2B%2B"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Asat"
-></A
-><B
->sat</B
-> :: (Token -&gt; Bool) -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> Token</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#sat"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Amany"
-></A
-><B
->many</B
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> [a]</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#many"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Amany1"
-></A
-><B
->many1</B
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> [a]</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#many1"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Asepby"
-></A
-><B
->sepby</B
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> b -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> [a]</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#sepby"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Asepby1"
-></A
-><B
->sepby1</B
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> b -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> [a]</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#sepby1"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Achainl"
-></A
-><B
->chainl</B
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> (a -&gt; a -&gt; a) -&gt; a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#chainl"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Achainl1"
-></A
-><B
->chainl1</B
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> (a -&gt; a -&gt; a) -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#chainl1"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Achainr"
-></A
-><B
->chainr</B
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> (a -&gt; a -&gt; a) -&gt; a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#chainr"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Achainr1"
-></A
-><B
->chainr1</B
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> (a -&gt; a -&gt; a) -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#chainr1"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Aops"
-></A
-><B
->ops</B
-> :: [(<A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a, b)] -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> b</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#ops"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Abracket"
-></A
-><B
->bracket</B
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> b -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> c -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> b</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#bracket"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Achar"
-></A
-><B
->char</B
-> :: Char -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> Char</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#char"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Adigit"
-></A
-><B
->digit</B
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> Char</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#digit"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Alower"
-></A
-><B
->lower</B
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> Char</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#lower"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Aupper"
-></A
-><B
->upper</B
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> Char</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#upper"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Aletter"
-></A
-><B
->letter</B
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> Char</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#letter"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Aalphanum"
-></A
-><B
->alphanum</B
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> Char</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#alphanum"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Astring"
-></A
-><B
->string</B
-> :: String -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> String</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#string"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Aident"
-></A
-><B
->ident</B
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> String</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#ident"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Anat"
-></A
-><B
->nat</B
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> Int</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#nat"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Aint"
-></A
-><B
->int</B
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> Int</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#int"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Aspaces"
-></A
-><B
->spaces</B
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> ()</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#spaces"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Acomment"
-></A
-><B
->comment</B
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> ()</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#comment"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Ajunk"
-></A
-><B
->junk</B
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> ()</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#junk"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Askip"
-></A
-><B
->skip</B
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#skip"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Atoken"
-></A
-><B
->token</B
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#token"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Anatural"
-></A
-><B
->natural</B
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> Int</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#natural"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Ainteger"
-></A
-><B
->integer</B
-> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> Int</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#integer"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Asymbol"
-></A
-><B
->symbol</B
-> :: String -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> String</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#symbol"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Aidentifier"
-></A
-><B
->identifier</B
-> :: [String] -&gt; <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Parser</A
-> String</TD
-><TD CLASS="declbut"
-><A HREF="Text/ParserCombinators/HuttonMeijer.html#identifier"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 0.8</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/Text/ParserCombinators/HuttonMeijer.html b/docs/cpphs/Text/ParserCombinators/HuttonMeijer.html
deleted file mode 100644
--- a/docs/cpphs/Text/ParserCombinators/HuttonMeijer.html
+++ /dev/null
@@ -1,222 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<pre><a name="(line1)"></a><font color=Blue>-----------------------------------------------------------------------------</font>
-<a name="(line2)"></a><font color=Blue>-- |</font>
-<a name="(line3)"></a><font color=Blue>-- Module      :  ParseLib</font>
-<a name="(line4)"></a><font color=Blue>-- Copyright   :  ...</font>
-<a name="(line5)"></a><font color=Blue>-- Copyright   :  Graham Hutton (University of Nottingham), Erik Meijer (University of Utrecht)</font>
-<a name="(line6)"></a><font color=Blue>-- </font>
-<a name="(line7)"></a><font color=Blue>-- Maintainer  :  Malcolm Wallace &lt;Malcolm.Wallace@cs.york.ac.uk&gt;</font>
-<a name="(line8)"></a><font color=Blue>-- Stability   :  Stable</font>
-<a name="(line9)"></a><font color=Blue>-- Portability :  All</font>
-<a name="(line10)"></a><font color=Blue>--</font>
-<a name="(line11)"></a><font color=Blue>--                  A LIBRARY OF MONADIC PARSER COMBINATORS</font>
-<a name="(line12)"></a><font color=Blue>-- </font>
-<a name="(line13)"></a><font color=Blue>--                               29th July 1996</font>
-<a name="(line14)"></a><font color=Blue>-- </font>
-<a name="(line15)"></a><font color=Blue>--                  Graham Hutton               Erik Meijer</font>
-<a name="(line16)"></a><font color=Blue>--             University of Nottingham    University of Utrecht</font>
-<a name="(line17)"></a><font color=Blue>-- </font>
-<a name="(line18)"></a><font color=Blue>-- This Haskell script defines a library of parser combinators, and is</font>
-<a name="(line19)"></a><font color=Blue>-- taken from sections 1-6 of our article "Monadic Parser Combinators".</font>
-<a name="(line20)"></a><font color=Blue>-- Some changes to the library have been made in the move from Gofer</font>
-<a name="(line21)"></a><font color=Blue>-- to Haskell:</font>
-<a name="(line22)"></a><font color=Blue>-- </font>
-<a name="(line23)"></a><font color=Blue>--    * Do notation is used in place of monad comprehension notation;</font>
-<a name="(line24)"></a><font color=Blue>-- </font>
-<a name="(line25)"></a><font color=Blue>--    * The parser datatype is defined using "newtype", to avoid the overhead</font>
-<a name="(line26)"></a><font color=Blue>--      of tagging and untagging parsers with the P constructor.</font>
-<a name="(line27)"></a><font color=Blue>-----------------------------------------------------------------------------</font>
-<a name="(line28)"></a>
-<a name="(line29)"></a>
-<a name="(line30)"></a><font color=Green><u>module</u></font> Text<font color=Cyan>.</font>ParserCombinators<font color=Cyan>.</font>HuttonMeijer
-<a name="(line31)"></a>   <font color=Cyan>(</font>Parser<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font><font color=Cyan>,</font> item<font color=Cyan>,</font> first<font color=Cyan>,</font> papply<font color=Cyan>,</font> <font color=Cyan>(</font><font color=Cyan>+++</font><font color=Cyan>)</font><font color=Cyan>,</font> sat<font color=Cyan>,</font> <font color=Blue>{-tok,-}</font> many<font color=Cyan>,</font> many1<font color=Cyan>,</font>
-<a name="(line32)"></a>    sepby<font color=Cyan>,</font> sepby1<font color=Cyan>,</font> chainl<font color=Cyan>,</font>
-<a name="(line33)"></a>    chainl1<font color=Cyan>,</font> chainr<font color=Cyan>,</font> chainr1<font color=Cyan>,</font> ops<font color=Cyan>,</font> bracket<font color=Cyan>,</font> char<font color=Cyan>,</font> digit<font color=Cyan>,</font> lower<font color=Cyan>,</font> upper<font color=Cyan>,</font>
-<a name="(line34)"></a>    letter<font color=Cyan>,</font> alphanum<font color=Cyan>,</font> string<font color=Cyan>,</font> ident<font color=Cyan>,</font> nat<font color=Cyan>,</font> int<font color=Cyan>,</font> spaces<font color=Cyan>,</font> comment<font color=Cyan>,</font> junk<font color=Cyan>,</font>
-<a name="(line35)"></a>    skip<font color=Cyan>,</font> token<font color=Cyan>,</font> natural<font color=Cyan>,</font> integer<font color=Cyan>,</font> symbol<font color=Cyan>,</font> identifier<font color=Cyan>)</font> <font color=Green><u>where</u></font>
-<a name="(line36)"></a>
-<a name="(line37)"></a><font color=Green><u>import</u></font> Char
-<a name="(line38)"></a><font color=Green><u>import</u></font> Monad
-<a name="(line39)"></a>
-<a name="(line40)"></a><font color=Green><u>infixr</u></font> <font color=Magenta>5</font> <font color=Cyan>+++</font>
-<a name="(line41)"></a>
-<a name="(line42)"></a><a name="Token"></a><font color=Green><u>type</u></font> Token <font color=Red>=</font> Char
-<a name="(line43)"></a>
-<a name="(line44)"></a><font color=Blue>---------------------------------------------------------</font>
-<a name="(line45)"></a><font color=Blue>-- | The parser monad</font>
-<a name="(line46)"></a>
-<a name="(line47)"></a><a name="Parser"></a><font color=Green><u>newtype</u></font> Parser a   <font color=Red>=</font> P <font color=Cyan>(</font><font color=Red>[</font>Token<font color=Red>]</font> <font color=Red>-&gt;</font> <font color=Red>[</font><font color=Cyan>(</font>a<font color=Cyan>,</font><font color=Red>[</font>Token<font color=Red>]</font><font color=Cyan>)</font><font color=Red>]</font><font color=Cyan>)</font>
-<a name="(line48)"></a>
-<a name="(line49)"></a><font color=Green><u>instance</u></font> Functor Parser <font color=Green><u>where</u></font>
-<a name="(line50)"></a>   <font color=Blue>-- map         :: (a -&gt; b) -&gt; (Parser a -&gt; Parser b)</font>
-<a name="(line51)"></a>   fmap f <font color=Cyan>(</font>P p<font color=Cyan>)</font>    <font color=Red>=</font> P <font color=Cyan>(</font><font color=Red>\</font>inp <font color=Red>-&gt;</font> <font color=Red>[</font><font color=Cyan>(</font>f v<font color=Cyan>,</font> out<font color=Cyan>)</font> <font color=Red>|</font> <font color=Cyan>(</font>v<font color=Cyan>,</font>out<font color=Cyan>)</font> <font color=Red>&lt;-</font> p inp<font color=Red>]</font><font color=Cyan>)</font>
-<a name="(line52)"></a>
-<a name="(line53)"></a><font color=Green><u>instance</u></font> Monad Parser <font color=Green><u>where</u></font>
-<a name="(line54)"></a>   <font color=Blue>-- return      :: a -&gt; Parser a</font>
-<a name="(line55)"></a>   return v        <font color=Red>=</font> P <font color=Cyan>(</font><font color=Red>\</font>inp <font color=Red>-&gt;</font> <font color=Red>[</font><font color=Cyan>(</font>v<font color=Cyan>,</font>inp<font color=Cyan>)</font><font color=Red>]</font><font color=Cyan>)</font>
-<a name="(line56)"></a>
-<a name="(line57)"></a>   <font color=Blue>-- &gt;&gt;=         :: Parser a -&gt; (a -&gt; Parser b) -&gt; Parser b</font>
-<a name="(line58)"></a>   <font color=Cyan>(</font>P p<font color=Cyan>)</font> <font color=Cyan>&gt;&gt;=</font> f     <font color=Red>=</font> P <font color=Cyan>(</font><font color=Red>\</font>inp <font color=Red>-&gt;</font> concat <font color=Red>[</font>papply <font color=Cyan>(</font>f v<font color=Cyan>)</font> out <font color=Red>|</font> <font color=Cyan>(</font>v<font color=Cyan>,</font>out<font color=Cyan>)</font> <font color=Red>&lt;-</font> p inp<font color=Red>]</font><font color=Cyan>)</font>
-<a name="(line59)"></a>
-<a name="(line60)"></a>   <font color=Blue>-- fail        :: String -&gt; Parser a</font>
-<a name="(line61)"></a>   fail <font color=Green><u>_</u></font>          <font color=Red>=</font> P <font color=Cyan>(</font><font color=Red>\</font><font color=Green><u>_</u></font> <font color=Red>-&gt;</font> []<font color=Cyan>)</font>
-<a name="(line62)"></a>
-<a name="(line63)"></a><font color=Green><u>instance</u></font> MonadPlus Parser <font color=Green><u>where</u></font>
-<a name="(line64)"></a>   <font color=Blue>-- mzero       :: Parser a</font>
-<a name="(line65)"></a>   mzero           <font color=Red>=</font> P <font color=Cyan>(</font><font color=Red>\</font><font color=Green><u>_</u></font> <font color=Red>-&gt;</font> []<font color=Cyan>)</font>
-<a name="(line66)"></a>
-<a name="(line67)"></a>   <font color=Blue>-- mplus       :: Parser a -&gt; Parser a -&gt; Parser a</font>
-<a name="(line68)"></a>   <font color=Cyan>(</font>P p<font color=Cyan>)</font> <font color=Cyan>`mplus`</font> <font color=Cyan>(</font>P q<font color=Cyan>)</font>  <font color=Red>=</font> P <font color=Cyan>(</font><font color=Red>\</font>inp <font color=Red>-&gt;</font> <font color=Cyan>(</font>p inp <font color=Cyan>++</font> q inp<font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="(line69)"></a>
-<a name="(line70)"></a><font color=Blue>-- ------------------------------------------------------------</font>
-<a name="(line71)"></a><font color=Blue>-- * Other primitive parser combinators</font>
-<a name="(line72)"></a><font color=Blue>-- ------------------------------------------------------------</font>
-<a name="(line73)"></a>
-<a name="(line74)"></a><a name="item"></a>item               <font color=Red>::</font> Parser Token
-<a name="(line75)"></a>item                <font color=Red>=</font> P <font color=Cyan>(</font><font color=Red>\</font>inp <font color=Red>-&gt;</font> <font color=Green><u>case</u></font> inp <font color=Green><u>of</u></font>
-<a name="(line76)"></a>                                   []     <font color=Red>-&gt;</font> []
-<a name="(line77)"></a>                                   <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>-&gt;</font> <font color=Red>[</font><font color=Cyan>(</font>x<font color=Cyan>,</font>xs<font color=Cyan>)</font><font color=Red>]</font><font color=Cyan>)</font>
-<a name="(line78)"></a>
-<a name="(line79)"></a><a name="first"></a>first             <font color=Red>::</font> Parser a <font color=Red>-&gt;</font> Parser a
-<a name="(line80)"></a>first <font color=Cyan>(</font>P p<font color=Cyan>)</font>        <font color=Red>=</font> P <font color=Cyan>(</font><font color=Red>\</font>inp <font color=Red>-&gt;</font> <font color=Green><u>case</u></font> p inp <font color=Green><u>of</u></font>
-<a name="(line81)"></a>                                   []    <font color=Red>-&gt;</font> []
-<a name="(line82)"></a>                                   <font color=Cyan>(</font>x<font color=Red><b>:</b></font><font color=Green><u>_</u></font><font color=Cyan>)</font> <font color=Red>-&gt;</font> <font color=Red>[</font>x<font color=Red>]</font><font color=Cyan>)</font>
-<a name="(line83)"></a>
-<a name="(line84)"></a><a name="papply"></a>papply            <font color=Red>::</font> Parser a <font color=Red>-&gt;</font> <font color=Red>[</font>Token<font color=Red>]</font> <font color=Red>-&gt;</font> <font color=Red>[</font><font color=Cyan>(</font>a<font color=Cyan>,</font><font color=Red>[</font>Token<font color=Red>]</font><font color=Cyan>)</font><font color=Red>]</font>
-<a name="(line85)"></a>papply <font color=Cyan>(</font>P p<font color=Cyan>)</font> inp   <font color=Red>=</font> p inp
-<a name="(line86)"></a>
-<a name="(line87)"></a><font color=Blue>-- ------------------------------------------------------------</font>
-<a name="(line88)"></a><font color=Blue>-- * Derived combinators</font>
-<a name="(line89)"></a><font color=Blue>-- ------------------------------------------------------------</font>
-<a name="(line90)"></a>
-<a name="(line91)"></a><a name="+++"></a><font color=Cyan>(</font><font color=Cyan>+++</font><font color=Cyan>)</font>             <font color=Red>::</font> Parser a <font color=Red>-&gt;</font> Parser a <font color=Red>-&gt;</font> Parser a
-<a name="(line92)"></a><a name="p"></a>p <font color=Cyan>+++</font> q            <font color=Red>=</font> first <font color=Cyan>(</font>p <font color=Cyan>`mplus`</font> q<font color=Cyan>)</font>
-<a name="(line93)"></a>
-<a name="(line94)"></a><a name="sat"></a>sat               <font color=Red>::</font> <font color=Cyan>(</font>Token <font color=Red>-&gt;</font> Bool<font color=Cyan>)</font> <font color=Red>-&gt;</font> Parser Token
-<a name="(line95)"></a>sat p              <font color=Red>=</font> <font color=Green><u>do</u></font> <font color=Cyan>{</font>x <font color=Red>&lt;-</font> item<font color=Cyan>;</font> <font color=Green><u>if</u></font> p x <font color=Green><u>then</u></font> return x <font color=Green><u>else</u></font> mzero<font color=Cyan>}</font>
-<a name="(line96)"></a>
-<a name="(line97)"></a><font color=Blue>--tok               :: Token -&gt; Parser Token</font>
-<a name="(line98)"></a><font color=Blue>--tok t              = do {x &lt;- item; if t==snd x then return t else mzero}</font>
-<a name="(line99)"></a>
-<a name="(line100)"></a><a name="many"></a>many              <font color=Red>::</font> Parser a <font color=Red>-&gt;</font> Parser <font color=Red>[</font>a<font color=Red>]</font>
-<a name="(line101)"></a>many p             <font color=Red>=</font> many1 p <font color=Cyan>+++</font> return []
-<a name="(line102)"></a><font color=Blue>--many p           = force (many1 p +++ return [])</font>
-<a name="(line103)"></a>
-<a name="(line104)"></a><a name="many1"></a>many1             <font color=Red>::</font> Parser a <font color=Red>-&gt;</font> Parser <font color=Red>[</font>a<font color=Red>]</font>
-<a name="(line105)"></a>many1 p            <font color=Red>=</font> <font color=Green><u>do</u></font> <font color=Cyan>{</font>x <font color=Red>&lt;-</font> p<font color=Cyan>;</font> xs <font color=Red>&lt;-</font> many p<font color=Cyan>;</font> return <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font><font color=Cyan>}</font>
-<a name="(line106)"></a>
-<a name="(line107)"></a><a name="sepby"></a>sepby             <font color=Red>::</font> Parser a <font color=Red>-&gt;</font> Parser b <font color=Red>-&gt;</font> Parser <font color=Red>[</font>a<font color=Red>]</font>
-<a name="(line108)"></a><a name="sepby"></a>p <font color=Cyan>`sepby`</font> sep      <font color=Red>=</font> <font color=Cyan>(</font>p <font color=Cyan>`sepby1`</font> sep<font color=Cyan>)</font> <font color=Cyan>+++</font> return []
-<a name="(line109)"></a>
-<a name="(line110)"></a><a name="sepby1"></a>sepby1            <font color=Red>::</font> Parser a <font color=Red>-&gt;</font> Parser b <font color=Red>-&gt;</font> Parser <font color=Red>[</font>a<font color=Red>]</font>
-<a name="(line111)"></a><a name="sepby1"></a>p <font color=Cyan>`sepby1`</font> sep     <font color=Red>=</font> <font color=Green><u>do</u></font> <font color=Cyan>{</font>x <font color=Red>&lt;-</font> p<font color=Cyan>;</font> xs <font color=Red>&lt;-</font> many <font color=Cyan>(</font><font color=Green><u>do</u></font> <font color=Cyan>{</font>sep<font color=Cyan>;</font> p<font color=Cyan>}</font><font color=Cyan>)</font><font color=Cyan>;</font> return <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font><font color=Cyan>}</font>
-<a name="(line112)"></a>
-<a name="(line113)"></a><a name="chainl"></a>chainl            <font color=Red>::</font> Parser a <font color=Red>-&gt;</font> Parser <font color=Cyan>(</font>a <font color=Red>-&gt;</font> a <font color=Red>-&gt;</font> a<font color=Cyan>)</font> <font color=Red>-&gt;</font> a <font color=Red>-&gt;</font> Parser a
-<a name="(line114)"></a>chainl p op v      <font color=Red>=</font> <font color=Cyan>(</font>p <font color=Cyan>`chainl1`</font> op<font color=Cyan>)</font> <font color=Cyan>+++</font> return v
-<a name="(line115)"></a>
-<a name="(line116)"></a><a name="chainl1"></a>chainl1           <font color=Red>::</font> Parser a <font color=Red>-&gt;</font> Parser <font color=Cyan>(</font>a <font color=Red>-&gt;</font> a <font color=Red>-&gt;</font> a<font color=Cyan>)</font> <font color=Red>-&gt;</font> Parser a
-<a name="(line117)"></a><a name="chainl1"></a>p <font color=Cyan>`chainl1`</font> op     <font color=Red>=</font> <font color=Green><u>do</u></font> <font color=Cyan>{</font>x <font color=Red>&lt;-</font> p<font color=Cyan>;</font> rest x<font color=Cyan>}</font>
-<a name="(line118)"></a>                     <font color=Green><u>where</u></font>
-<a name="(line119)"></a>                        rest x <font color=Red>=</font> <font color=Green><u>do</u></font> <font color=Cyan>{</font>f <font color=Red>&lt;-</font> op<font color=Cyan>;</font> y <font color=Red>&lt;-</font> p<font color=Cyan>;</font> rest <font color=Cyan>(</font>f x y<font color=Cyan>)</font><font color=Cyan>}</font>
-<a name="(line120)"></a>                                 <font color=Cyan>+++</font> return x
-<a name="(line121)"></a>
-<a name="(line122)"></a><a name="chainr"></a>chainr            <font color=Red>::</font> Parser a <font color=Red>-&gt;</font> Parser <font color=Cyan>(</font>a <font color=Red>-&gt;</font> a <font color=Red>-&gt;</font> a<font color=Cyan>)</font> <font color=Red>-&gt;</font> a <font color=Red>-&gt;</font> Parser a
-<a name="(line123)"></a>chainr p op v      <font color=Red>=</font> <font color=Cyan>(</font>p <font color=Cyan>`chainr1`</font> op<font color=Cyan>)</font> <font color=Cyan>+++</font> return v
-<a name="(line124)"></a>
-<a name="(line125)"></a><a name="chainr1"></a>chainr1           <font color=Red>::</font> Parser a <font color=Red>-&gt;</font> Parser <font color=Cyan>(</font>a <font color=Red>-&gt;</font> a <font color=Red>-&gt;</font> a<font color=Cyan>)</font> <font color=Red>-&gt;</font> Parser a
-<a name="(line126)"></a><a name="chainr1"></a>p <font color=Cyan>`chainr1`</font> op     <font color=Red>=</font> <font color=Green><u>do</u></font> <font color=Cyan>{</font>x <font color=Red>&lt;-</font> p<font color=Cyan>;</font> rest x<font color=Cyan>}</font>
-<a name="(line127)"></a>                     <font color=Green><u>where</u></font>
-<a name="(line128)"></a>                        rest x <font color=Red>=</font> <font color=Green><u>do</u></font> <font color=Cyan>{</font>f <font color=Red>&lt;-</font> op<font color=Cyan>;</font> y <font color=Red>&lt;-</font> p <font color=Cyan>`chainr1`</font> op<font color=Cyan>;</font> return <font color=Cyan>(</font>f x y<font color=Cyan>)</font><font color=Cyan>}</font>
-<a name="(line129)"></a>                                 <font color=Cyan>+++</font> return x
-<a name="(line130)"></a>
-<a name="(line131)"></a><a name="ops"></a>ops               <font color=Red>::</font> <font color=Red>[</font><font color=Cyan>(</font>Parser a<font color=Cyan>,</font> b<font color=Cyan>)</font><font color=Red>]</font> <font color=Red>-&gt;</font> Parser b
-<a name="(line132)"></a>ops xs             <font color=Red>=</font> foldr1 <font color=Cyan>(</font><font color=Cyan>+++</font><font color=Cyan>)</font> <font color=Red>[</font><font color=Green><u>do</u></font> <font color=Cyan>{</font>p<font color=Cyan>;</font> return op<font color=Cyan>}</font> <font color=Red>|</font> <font color=Cyan>(</font>p<font color=Cyan>,</font>op<font color=Cyan>)</font> <font color=Red>&lt;-</font> xs<font color=Red>]</font>
-<a name="(line133)"></a>
-<a name="(line134)"></a><a name="bracket"></a>bracket           <font color=Red>::</font> Parser a <font color=Red>-&gt;</font> Parser b <font color=Red>-&gt;</font> Parser c <font color=Red>-&gt;</font> Parser b
-<a name="(line135)"></a>bracket open p close <font color=Red>=</font> <font color=Green><u>do</u></font> <font color=Cyan>{</font>open<font color=Cyan>;</font> x <font color=Red>&lt;-</font> p<font color=Cyan>;</font> close<font color=Cyan>;</font> return x<font color=Cyan>}</font>
-<a name="(line136)"></a>
-<a name="(line137)"></a><font color=Blue>-- ------------------------------------------------------------</font>
-<a name="(line138)"></a><font color=Blue>-- * Useful parsers</font>
-<a name="(line139)"></a><font color=Blue>-- ------------------------------------------------------------</font>
-<a name="(line140)"></a>
-<a name="(line141)"></a><a name="char"></a>char              <font color=Red>::</font> Char <font color=Red>-&gt;</font> Parser Char
-<a name="(line142)"></a>char x             <font color=Red>=</font> sat <font color=Cyan>(</font><font color=Red>\</font>y <font color=Red>-&gt;</font> x <font color=Cyan>==</font> y<font color=Cyan>)</font>
-<a name="(line143)"></a>
-<a name="(line144)"></a><a name="digit"></a>digit             <font color=Red>::</font> Parser Char
-<a name="(line145)"></a>digit              <font color=Red>=</font> sat isDigit
-<a name="(line146)"></a>
-<a name="(line147)"></a><a name="lower"></a>lower             <font color=Red>::</font> Parser Char
-<a name="(line148)"></a>lower              <font color=Red>=</font> sat isLower
-<a name="(line149)"></a>
-<a name="(line150)"></a><a name="upper"></a>upper             <font color=Red>::</font> Parser Char
-<a name="(line151)"></a>upper              <font color=Red>=</font> sat isUpper
-<a name="(line152)"></a>
-<a name="(line153)"></a><a name="letter"></a>letter            <font color=Red>::</font> Parser Char
-<a name="(line154)"></a>letter             <font color=Red>=</font> sat isAlpha
-<a name="(line155)"></a>
-<a name="(line156)"></a><a name="alphanum"></a>alphanum          <font color=Red>::</font> Parser Char
-<a name="(line157)"></a>alphanum           <font color=Red>=</font> sat isAlphaNum <font color=Cyan>+++</font> char <font color=Magenta>'_'</font>
-<a name="(line158)"></a>
-<a name="(line159)"></a><a name="string"></a>string            <font color=Red>::</font> String <font color=Red>-&gt;</font> Parser String
-<a name="(line160)"></a>string <font color=Magenta>""</font>          <font color=Red>=</font> return <font color=Magenta>""</font>
-<a name="(line161)"></a>string <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font>      <font color=Red>=</font> <font color=Green><u>do</u></font> <font color=Cyan>{</font>char x<font color=Cyan>;</font> string xs<font color=Cyan>;</font> return <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font><font color=Cyan>}</font>
-<a name="(line162)"></a>
-<a name="(line163)"></a><a name="ident"></a>ident             <font color=Red>::</font> Parser String
-<a name="(line164)"></a>ident              <font color=Red>=</font> <font color=Green><u>do</u></font> <font color=Cyan>{</font>x <font color=Red>&lt;-</font> lower<font color=Cyan>;</font> xs <font color=Red>&lt;-</font> many alphanum<font color=Cyan>;</font> return <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font><font color=Cyan>}</font>
-<a name="(line165)"></a>
-<a name="(line166)"></a><a name="nat"></a>nat               <font color=Red>::</font> Parser Int
-<a name="(line167)"></a>nat                <font color=Red>=</font> <font color=Green><u>do</u></font> <font color=Cyan>{</font>x <font color=Red>&lt;-</font> digit<font color=Cyan>;</font> return <font color=Cyan>(</font>fromEnum x <font color=Blue>-</font> fromEnum <font color=Magenta>'0'</font><font color=Cyan>)</font><font color=Cyan>}</font> <font color=Cyan>`chainl1`</font> return op
-<a name="(line168)"></a>                     <font color=Green><u>where</u></font>
-<a name="(line169)"></a>                        m <font color=Cyan>`op`</font> n <font color=Red>=</font> <font color=Magenta>10</font><font color=Cyan>*</font>m <font color=Cyan>+</font> n
-<a name="(line170)"></a>
-<a name="(line171)"></a><a name="int"></a>int               <font color=Red>::</font> Parser Int
-<a name="(line172)"></a>int                <font color=Red>=</font> <font color=Green><u>do</u></font> <font color=Cyan>{</font>char <font color=Magenta>'-'</font><font color=Cyan>;</font> n <font color=Red>&lt;-</font> nat<font color=Cyan>;</font> return <font color=Cyan>(</font><font color=Blue>-</font>n<font color=Cyan>)</font><font color=Cyan>}</font> <font color=Cyan>+++</font> nat
-<a name="(line173)"></a>
-<a name="(line174)"></a><font color=Blue>-- ------------------------------------------------------------</font>
-<a name="(line175)"></a><font color=Blue>-- * Lexical combinators</font>
-<a name="(line176)"></a><font color=Blue>-- ------------------------------------------------------------</font>
-<a name="(line177)"></a>
-<a name="(line178)"></a><a name="spaces"></a>spaces            <font color=Red>::</font> Parser ()
-<a name="(line179)"></a>spaces             <font color=Red>=</font> <font color=Green><u>do</u></font> <font color=Cyan>{</font>many1 <font color=Cyan>(</font>sat isSpace<font color=Cyan>)</font><font color=Cyan>;</font> return ()<font color=Cyan>}</font>
-<a name="(line180)"></a>
-<a name="(line181)"></a><a name="comment"></a>comment           <font color=Red>::</font> Parser ()
-<a name="(line182)"></a><font color=Blue>--comment            = do {string "--"; many (sat (\x -&gt; x /= '\n')); return ()}</font>
-<a name="(line183)"></a><font color=Blue>--comment            = do </font>
-<a name="(line184)"></a><font color=Blue>--                       _ &lt;- string "--"</font>
-<a name="(line185)"></a><font color=Blue>--                       _ &lt;- many (sat (\x -&gt; x /= '\n'))</font>
-<a name="(line186)"></a><font color=Blue>--                       return ()</font>
-<a name="(line187)"></a>comment            <font color=Red>=</font> <font color=Green><u>do</u></font>
-<a name="(line188)"></a>                       bracket <font color=Cyan>(</font>string <font color=Magenta>"/*"</font><font color=Cyan>)</font> <font color=Cyan>(</font>many item<font color=Cyan>)</font> <font color=Cyan>(</font>string <font color=Magenta>"*/"</font><font color=Cyan>)</font>
-<a name="(line189)"></a>                       return ()
-<a name="(line190)"></a>
-<a name="(line191)"></a><a name="junk"></a>junk              <font color=Red>::</font> Parser ()
-<a name="(line192)"></a>junk               <font color=Red>=</font> <font color=Green><u>do</u></font> <font color=Cyan>{</font>many <font color=Cyan>(</font>spaces <font color=Cyan>+++</font> comment<font color=Cyan>)</font><font color=Cyan>;</font> return ()<font color=Cyan>}</font>
-<a name="(line193)"></a>
-<a name="(line194)"></a><a name="skip"></a>skip              <font color=Red>::</font> Parser a <font color=Red>-&gt;</font> Parser a
-<a name="(line195)"></a>skip p             <font color=Red>=</font> <font color=Green><u>do</u></font> <font color=Cyan>{</font>junk<font color=Cyan>;</font> p<font color=Cyan>}</font>
-<a name="(line196)"></a>
-<a name="(line197)"></a><a name="token"></a>token             <font color=Red>::</font> Parser a <font color=Red>-&gt;</font> Parser a
-<a name="(line198)"></a>token p            <font color=Red>=</font> <font color=Green><u>do</u></font> <font color=Cyan>{</font>v <font color=Red>&lt;-</font> p<font color=Cyan>;</font> junk<font color=Cyan>;</font> return v<font color=Cyan>}</font>
-<a name="(line199)"></a>
-<a name="(line200)"></a><font color=Blue>-- ------------------------------------------------------------</font>
-<a name="(line201)"></a><font color=Blue>-- * Token parsers</font>
-<a name="(line202)"></a><font color=Blue>-- ------------------------------------------------------------</font>
-<a name="(line203)"></a>
-<a name="(line204)"></a><a name="natural"></a>natural           <font color=Red>::</font> Parser Int
-<a name="(line205)"></a>natural            <font color=Red>=</font> token nat
-<a name="(line206)"></a>
-<a name="(line207)"></a><a name="integer"></a>integer           <font color=Red>::</font> Parser Int
-<a name="(line208)"></a>integer            <font color=Red>=</font> token int
-<a name="(line209)"></a>
-<a name="(line210)"></a><a name="symbol"></a>symbol            <font color=Red>::</font> String <font color=Red>-&gt;</font> Parser String
-<a name="(line211)"></a>symbol xs          <font color=Red>=</font> token <font color=Cyan>(</font>string xs<font color=Cyan>)</font>
-<a name="(line212)"></a>
-<a name="(line213)"></a><a name="identifier"></a>identifier        <font color=Red>::</font> <font color=Red>[</font>String<font color=Red>]</font> <font color=Red>-&gt;</font> Parser String
-<a name="(line214)"></a>identifier ks      <font color=Red>=</font> token <font color=Cyan>(</font><font color=Green><u>do</u></font> <font color=Cyan>{</font>x <font color=Red>&lt;-</font> ident<font color=Cyan>;</font>
-<a name="(line215)"></a>                                <font color=Green><u>if</u></font> not <font color=Cyan>(</font>elem x ks<font color=Cyan>)</font> <font color=Green><u>then</u></font> return x
-<a name="(line216)"></a>                                <font color=Green><u>else</u></font> return mzero<font color=Cyan>}</font><font color=Cyan>)</font>
-<a name="(line217)"></a>
-<a name="(line218)"></a><font color=Blue>------------------------------------------------------------------------------</font>
-</pre>
-</html>
diff --git a/docs/cpphs/cpphs.html b/docs/cpphs/cpphs.html
deleted file mode 100644
--- a/docs/cpphs/cpphs.html
+++ /dev/null
@@ -1,113 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<pre><a name="(line1)"></a><font color=Blue>{-
-<a name="(line2)"></a>-- The main program wrapper for cpphs, a simple C pre-processor
-<a name="(line3)"></a>-- written in Haskell.
-<a name="(line4)"></a>
-<a name="(line5)"></a>-- Author: Malcolm Wallace, 2004
-<a name="(line6)"></a>-- This file is licensed under the GPL.  Note however, that all other
-<a name="(line7)"></a>-- modules used by it are either distributed under the LGPL, or are Haskell'98.
-<a name="(line8)"></a>--
-<a name="(line9)"></a>-- Thus, when compiled as a standalone executable, this program will fall
-<a name="(line10)"></a>-- under the GPL.
-<a name="(line11)"></a>-}</font>
-<a name="(line12)"></a><font color=Green><u>module</u></font> Main <font color=Green><u>where</u></font>
-<a name="(line13)"></a>
-<a name="(line14)"></a><font color=Green><u>import</u></font> System <font color=Cyan>(</font> getArgs<font color=Cyan>,</font> getProgName<font color=Cyan>,</font> exitWith<font color=Cyan>,</font> ExitCode<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font> <font color=Cyan>)</font>
-<a name="(line15)"></a><font color=Green><u>import</u></font> Maybe
-<a name="(line16)"></a><font color=Green><u>import</u></font> Language<font color=Cyan>.</font>Preprocessor<font color=Cyan>.</font>Cpphs <font color=Cyan>(</font> runCpphs<font color=Cyan>,</font> CpphsOptions<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font><font color=Cyan>,</font> parseOptions <font color=Cyan>)</font>
-<a name="(line17)"></a><font color=Green><u>import</u></font> IO     <font color=Cyan>(</font> stdout<font color=Cyan>,</font> IOMode<font color=Cyan>(</font>WriteMode<font color=Cyan>)</font><font color=Cyan>,</font> openFile<font color=Cyan>,</font> hPutStr<font color=Cyan>,</font> hFlush<font color=Cyan>,</font> hClose <font color=Cyan>)</font>
-<a name="(line18)"></a><font color=Green><u>import</u></font> Monad  <font color=Cyan>(</font> when <font color=Cyan>)</font>
-<a name="(line19)"></a><font color=Green><u>import</u></font> List   <font color=Cyan>(</font> isPrefixOf <font color=Cyan>)</font>
-<a name="(line20)"></a>
-<a name="(line21)"></a><a name="version"></a>version <font color=Red>::</font> String
-<a name="(line22)"></a>version <font color=Red>=</font> <font color=Magenta>"1.6"</font>
-<a name="(line23)"></a>
-<a name="(line24)"></a><a name="main"></a>main <font color=Red>::</font> IO ()
-<a name="(line25)"></a>main <font color=Red>=</font> <font color=Green><u>do</u></font>
-<a name="(line26)"></a>  args <font color=Red>&lt;-</font> getArgs
-<a name="(line27)"></a>  args <font color=Red>&lt;-</font> return <font color=Cyan>$</font> <font color=Green><u>if</u></font> <font color=Magenta>"--cpp"</font> <font color=Cyan>`elem`</font> args <font color=Green><u>then</u></font> convertArgs args <font color=Green><u>else</u></font> args
-<a name="(line28)"></a>  
-<a name="(line29)"></a>  prog <font color=Red>&lt;-</font> getProgName
-<a name="(line30)"></a>  when <font color=Cyan>(</font><font color=Magenta>"--version"</font> <font color=Cyan>`elem`</font> args<font color=Cyan>)</font>
-<a name="(line31)"></a>       <font color=Cyan>(</font><font color=Green><u>do</u></font> putStrLn <font color=Cyan>(</font>prog<font color=Cyan>++</font><font color=Magenta>" "</font><font color=Cyan>++</font>version<font color=Cyan>)</font>
-<a name="(line32)"></a>           exitWith ExitSuccess<font color=Cyan>)</font>
-<a name="(line33)"></a>  when <font color=Cyan>(</font><font color=Magenta>"--help"</font> <font color=Cyan>`elem`</font> args<font color=Cyan>)</font>
-<a name="(line34)"></a>       <font color=Cyan>(</font><font color=Green><u>do</u></font> putStrLn <font color=Cyan>(</font><font color=Magenta>"Usage: "</font><font color=Cyan>++</font>prog
-<a name="(line35)"></a>              <font color=Cyan>++</font><font color=Magenta>" [file ...] [ -Dsym | -Dsym=val | -Ipath ]*  [-Ofile]\n"</font>
-<a name="(line36)"></a>              <font color=Cyan>++</font><font color=Magenta>"\t\t[--nomacro] [--noline] [--pragma] [--text]\n"</font>
-<a name="(line37)"></a>              <font color=Cyan>++</font><font color=Magenta>"\t\t[--strip] [--strip-eol] [--hashes] [--layout] [--unlit]\n"</font>
-<a name="(line38)"></a>              <font color=Cyan>++</font><font color=Magenta>"\t\t[ --cpp std-cpp-options ] [--include=filename]"</font><font color=Cyan>)</font>
-<a name="(line39)"></a>           exitWith ExitSuccess<font color=Cyan>)</font>
-<a name="(line40)"></a>
-<a name="(line41)"></a>  <font color=Green><u>let</u></font> parsedArgs <font color=Red>=</font> parseOptions args
-<a name="(line42)"></a>      options <font color=Red>=</font> fromRight parsedArgs
-<a name="(line43)"></a>      ins  <font color=Red>=</font> infiles  options
-<a name="(line44)"></a>      outs <font color=Red>=</font> outfiles options
-<a name="(line45)"></a>      out <font color=Red>=</font> listToMaybe outs
-<a name="(line46)"></a>  
-<a name="(line47)"></a>  when <font color=Cyan>(</font>isLeft parsedArgs<font color=Cyan>)</font>
-<a name="(line48)"></a>       <font color=Cyan>(</font><font color=Green><u>do</u></font> putStrLn <font color=Cyan>$</font> <font color=Magenta>"Unknown option "</font><font color=Cyan>++</font>fromLeft parsedArgs
-<a name="(line49)"></a>                      <font color=Cyan>++</font><font color=Magenta>", for valid options try "</font><font color=Cyan>++</font>prog<font color=Cyan>++</font><font color=Magenta>" --help\n"</font>
-<a name="(line50)"></a>           exitWith <font color=Cyan>(</font>ExitFailure <font color=Magenta>1</font><font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="(line51)"></a>  when <font color=Cyan>(</font>length outs <font color=Cyan>&gt;</font> <font color=Magenta>1</font><font color=Cyan>)</font>
-<a name="(line52)"></a>       <font color=Cyan>(</font><font color=Green><u>do</u></font> putStrLn <font color=Cyan>$</font> <font color=Magenta>"At most one output file (-O) can be specified"</font>
-<a name="(line53)"></a>           exitWith <font color=Cyan>(</font>ExitFailure <font color=Magenta>2</font><font color=Cyan>)</font><font color=Cyan>)</font>
-<a name="(line54)"></a>  <font color=Green><u>if</u></font> null ins <font color=Green><u>then</u></font> execute options out Nothing
-<a name="(line55)"></a>              <font color=Green><u>else</u></font> mapM_ <font color=Cyan>(</font>execute options out<font color=Cyan>)</font> <font color=Cyan>(</font>map Just ins<font color=Cyan>)</font>
-<a name="(line56)"></a>
-<a name="(line57)"></a><a name="execute"></a><font color=Blue>-- | Execute the preprocessor.</font>
-<a name="(line58)"></a><font color=Blue>--   If the filepath is Nothing then default to stdout\/stdin as appropriate.</font>
-<a name="(line59)"></a>execute <font color=Red>::</font> CpphsOptions <font color=Red>-&gt;</font> Maybe FilePath <font color=Red>-&gt;</font> Maybe FilePath <font color=Red>-&gt;</font> IO ()
-<a name="(line60)"></a>execute opts ofile infile <font color=Red>=</font>
-<a name="(line61)"></a>  <font color=Green><u>let</u></font> <font color=Cyan>(</font>filename<font color=Cyan>,</font> readIt<font color=Cyan>)</font> <font color=Red>=</font> <font color=Green><u>case</u></font> infile <font color=Green><u>of</u></font>
-<a name="(line62)"></a>                             Just x  <font color=Red>-&gt;</font> <font color=Cyan>(</font>x<font color=Cyan>,</font>       readFile x<font color=Cyan>)</font>
-<a name="(line63)"></a>                             Nothing <font color=Red>-&gt;</font> <font color=Cyan>(</font><font color=Magenta>"stdin"</font><font color=Cyan>,</font> getContents<font color=Cyan>)</font>
-<a name="(line64)"></a>      output Nothing x  <font color=Red>=</font> <font color=Green><u>do</u></font> putStr x<font color=Cyan>;</font> hFlush stdout
-<a name="(line65)"></a>      output <font color=Cyan>(</font>Just f<font color=Cyan>)</font> x <font color=Red>=</font> writeFile f x
-<a name="(line66)"></a>  <font color=Green><u>in</u></font> <font color=Green><u>do</u></font> contents <font color=Red>&lt;-</font> readIt
-<a name="(line67)"></a>        output ofile <font color=Cyan>(</font>runCpphs opts filename contents<font color=Cyan>)</font>
-<a name="(line68)"></a>
-<a name="(line69)"></a><a name="isLeft"></a>isLeft <font color=Cyan>(</font>Left <font color=Green><u>_</u></font><font color=Cyan>)</font> <font color=Red>=</font> True
-<a name="(line70)"></a>isLeft <font color=Green><u>_</u></font> <font color=Red>=</font> False
-<a name="(line71)"></a>
-<a name="(line72)"></a><a name="fromLeft"></a>fromLeft  <font color=Cyan>(</font>Left x<font color=Cyan>)</font>  <font color=Red>=</font> x
-<a name="(line73)"></a><a name="fromRight"></a>fromRight <font color=Cyan>(</font>Right x<font color=Cyan>)</font> <font color=Red>=</font> x
-<a name="(line74)"></a>
-<a name="(line75)"></a><a name="ConvertArgs"></a><font color=Blue>-- | Convert commandline options to remain compatible with cpp.</font>
-<a name="(line76)"></a><a name="ConvertArgs"></a><font color=Blue>--   Based on a shell script cpphs.compat</font>
-<a name="(line77)"></a><a name="ConvertArgs"></a><font color=Green><u>data</u></font> ConvertArgs <font color=Red>=</font> ConvertArgs <font color=Cyan>{</font> traditional<font color=Cyan>,</font> strip <font color=Red>::</font> Bool
-<a name="(line78)"></a>                               <font color=Cyan>,</font> infile<font color=Cyan>,</font> outfile    <font color=Red>::</font> String <font color=Cyan>}</font>
-<a name="(line79)"></a>
-<a name="(line80)"></a><a name="convertArgs"></a>convertArgs <font color=Red>::</font> <font color=Red>[</font>String<font color=Red>]</font> <font color=Red>-&gt;</font> <font color=Red>[</font>String<font color=Red>]</font>
-<a name="(line81)"></a>convertArgs xs <font color=Red>=</font> f <font color=Cyan>(</font>ConvertArgs False True <font color=Magenta>"-"</font> <font color=Magenta>"-"</font><font color=Cyan>)</font> xs
-<a name="(line82)"></a>    <font color=Green><u>where</u></font>
-<a name="(line83)"></a>        flg <font color=Red>=</font> <font color=Magenta>"DUI"</font>
-<a name="(line84)"></a>    
-<a name="(line85)"></a>        f e <font color=Cyan>(</font><font color=Red>[</font><font color=Magenta>'-'</font><font color=Cyan>,</font>r<font color=Red>]</font><font color=Red><b>:</b></font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>|</font> r <font color=Cyan>`elem`</font> flg <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>'-'</font><font color=Red><b>:</b></font>r<font color=Red><b>:</b></font>x<font color=Cyan>)</font> <font color=Red><b>:</b></font> f e xs
-<a name="(line86)"></a>        f e <font color=Cyan>(</font>x<font color=Red>@</font><font color=Cyan>(</font><font color=Magenta>'-'</font><font color=Red><b>:</b></font>r<font color=Red><b>:</b></font><font color=Green><u>_</u></font><font color=Cyan>)</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>|</font> r <font color=Cyan>`elem`</font> flg <font color=Red>=</font> x <font color=Red><b>:</b></font> f e xs
-<a name="(line87)"></a>        f e <font color=Cyan>(</font><font color=Magenta>"-o"</font><font color=Red><b>:</b></font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>'-'</font><font color=Red><b>:</b></font><font color=Magenta>'O'</font><font color=Red><b>:</b></font>x<font color=Cyan>)</font> <font color=Red><b>:</b></font> f e xs
-<a name="(line88)"></a>        f e <font color=Cyan>(</font><font color=Cyan>(</font><font color=Magenta>'-'</font><font color=Red><b>:</b></font><font color=Magenta>'o'</font><font color=Red><b>:</b></font>x<font color=Cyan>)</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>'-'</font><font color=Red><b>:</b></font><font color=Magenta>'O'</font><font color=Red><b>:</b></font>drop <font color=Magenta>2</font> x<font color=Cyan>)</font> <font color=Red><b>:</b></font> f e xs
-<a name="(line89)"></a>        f e <font color=Cyan>(</font><font color=Cyan>(</font><font color=Magenta>'-'</font><font color=Red><b>:</b></font>x<font color=Cyan>)</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>|</font> <font color=Magenta>"ansi"</font> <font color=Cyan>`isPrefixOf`</font> x <font color=Red>=</font> f e<font color=Cyan>{</font>traditional<font color=Red>=</font>False<font color=Cyan>}</font> xs
-<a name="(line90)"></a>                         <font color=Red>|</font> <font color=Magenta>"traditional"</font> <font color=Cyan>`isPrefixOf`</font> x <font color=Red>=</font> f e<font color=Cyan>{</font>traditional<font color=Red>=</font>True<font color=Cyan>}</font> xs
-<a name="(line91)"></a>                         <font color=Red>|</font> <font color=Magenta>"std"</font> <font color=Cyan>`isPrefixOf`</font> x <font color=Red>=</font> f e xs <font color=Blue>-- ignore language spec</font>
-<a name="(line92)"></a>        f e <font color=Cyan>(</font><font color=Magenta>"-x"</font><font color=Red><b>:</b></font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> f e xs <font color=Blue>-- ignore language spec</font>
-<a name="(line93)"></a>        f e <font color=Cyan>(</font><font color=Magenta>"-include"</font><font color=Red><b>:</b></font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"--include="</font><font color=Cyan>++</font>x<font color=Cyan>)</font> <font color=Red><b>:</b></font> f e xs
-<a name="(line94)"></a>        f e <font color=Cyan>(</font><font color=Magenta>"-P"</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"--noline"</font> <font color=Red><b>:</b></font> f e xs
-<a name="(line95)"></a>        f e <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>|</font> x <font color=Cyan>==</font> <font color=Magenta>"-C"</font> <font color=Cyan>||</font> x <font color=Cyan>==</font> <font color=Magenta>"-CC"</font> <font color=Red>=</font> f e<font color=Cyan>{</font>strip<font color=Red>=</font>False<font color=Cyan>}</font> xs
-<a name="(line96)"></a>        f e <font color=Cyan>(</font><font color=Magenta>"-A"</font><font color=Red><b>:</b></font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> f e xs <font color=Blue>-- strip assertions</font>
-<a name="(line97)"></a>        f e <font color=Cyan>(</font><font color=Magenta>"--help"</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"--help"</font> <font color=Red><b>:</b></font> f e xs
-<a name="(line98)"></a>        f e <font color=Cyan>(</font><font color=Magenta>"--version"</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"--version"</font> <font color=Red><b>:</b></font> f e xs
-<a name="(line99)"></a>        f e <font color=Cyan>(</font><font color=Magenta>"-version"</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"--version"</font> <font color=Red><b>:</b></font> f e xs
-<a name="(line100)"></a>        f e <font color=Cyan>(</font><font color=Cyan>(</font><font color=Magenta>'-'</font><font color=Red><b>:</b></font>x<font color=Cyan>)</font><font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> f e xs <font color=Blue>-- strip all other flags</font>
-<a name="(line101)"></a>        f e <font color=Cyan>(</font>x<font color=Red><b>:</b></font>xs<font color=Cyan>)</font> <font color=Red>=</font> f <font color=Cyan>(</font><font color=Green><u>if</u></font> infile e <font color=Cyan>==</font> <font color=Magenta>"-"</font> <font color=Green><u>then</u></font> e<font color=Cyan>{</font>infile<font color=Red>=</font>x<font color=Cyan>}</font> <font color=Green><u>else</u></font> e<font color=Cyan>{</font>outfile<font color=Red>=</font>x<font color=Cyan>}</font><font color=Cyan>)</font> xs
-<a name="(line102)"></a>        
-<a name="(line103)"></a>        f e [] <font color=Red>=</font> <font color=Red>[</font><font color=Magenta>"--hashes"</font> <font color=Red>|</font> not <font color=Cyan>(</font>traditional e<font color=Cyan>)</font><font color=Red>]</font> <font color=Cyan>++</font>
-<a name="(line104)"></a>                 <font color=Red>[</font><font color=Magenta>"--strip"</font> <font color=Red>|</font> traditional e <font color=Cyan>&amp;&amp;</font> strip e<font color=Red>]</font> <font color=Cyan>++</font>
-<a name="(line105)"></a>                 <font color=Red>[</font><font color=Magenta>"--strip-eol"</font> <font color=Red>|</font> not <font color=Cyan>(</font>traditional e<font color=Cyan>)</font> <font color=Cyan>&amp;&amp;</font> strip e<font color=Red>]</font> <font color=Cyan>++</font>
-<a name="(line106)"></a>                 <font color=Red>[</font>infile e<font color=Red>]</font> <font color=Cyan>++</font>
-<a name="(line107)"></a>                 <font color=Red>[</font><font color=Magenta>"-O"</font> <font color=Cyan>++</font> outfile e <font color=Red>|</font> outfile e <font color=Cyan>/=</font> <font color=Magenta>"-"</font><font color=Red>]</font>
-<a name="(line108)"></a>
-<a name="(line109)"></a>
-</pre>
-</html>
diff --git a/docs/cpphs/doc-index-43.html b/docs/cpphs/doc-index-43.html
deleted file mode 100644
--- a/docs/cpphs/doc-index-43.html
+++ /dev/null
@@ -1,146 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->cpphs (Index)</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD
-><A HREF="doc-index-A.html"
->A</A
-></TD
-><TD
-><A HREF="doc-index-B.html"
->B</A
-></TD
-><TD
-><A HREF="doc-index-C.html"
->C</A
-></TD
-><TD
-><A HREF="doc-index-D.html"
->D</A
-></TD
-><TD
-><A HREF="doc-index-E.html"
->E</A
-></TD
-><TD
-><A HREF="doc-index-F.html"
->F</A
-></TD
-><TD
-><A HREF="doc-index-H.html"
->H</A
-></TD
-><TD
-><A HREF="doc-index-I.html"
->I</A
-></TD
-><TD
-><A HREF="doc-index-J.html"
->J</A
-></TD
-><TD
-><A HREF="doc-index-L.html"
->L</A
-></TD
-><TD
-><A HREF="doc-index-M.html"
->M</A
-></TD
-><TD
-><A HREF="doc-index-N.html"
->N</A
-></TD
-><TD
-><A HREF="doc-index-O.html"
->O</A
-></TD
-><TD
-><A HREF="doc-index-P.html"
->P</A
-></TD
-><TD
-><A HREF="doc-index-R.html"
->R</A
-></TD
-><TD
-><A HREF="doc-index-S.html"
->S</A
-></TD
-><TD
-><A HREF="doc-index-T.html"
->T</A
-></TD
-><TD
-><A HREF="doc-index-U.html"
->U</A
-></TD
-><TD
-><A HREF="doc-index-V.html"
->V</A
-></TD
-><TD
-><A HREF="doc-index-W.html"
->W</A
-></TD
-><TD
-><A HREF="doc-index-43.html"
->+</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Index (+)</TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD CLASS="indexentry"
->+++</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3A%2B%2B%2B"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/doc-index-A.html b/docs/cpphs/doc-index-A.html
deleted file mode 100644
--- a/docs/cpphs/doc-index-A.html
+++ /dev/null
@@ -1,188 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->cpphs (Index)</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD
-><A HREF="doc-index-A.html"
->A</A
-></TD
-><TD
-><A HREF="doc-index-B.html"
->B</A
-></TD
-><TD
-><A HREF="doc-index-C.html"
->C</A
-></TD
-><TD
-><A HREF="doc-index-D.html"
->D</A
-></TD
-><TD
-><A HREF="doc-index-E.html"
->E</A
-></TD
-><TD
-><A HREF="doc-index-F.html"
->F</A
-></TD
-><TD
-><A HREF="doc-index-H.html"
->H</A
-></TD
-><TD
-><A HREF="doc-index-I.html"
->I</A
-></TD
-><TD
-><A HREF="doc-index-J.html"
->J</A
-></TD
-><TD
-><A HREF="doc-index-L.html"
->L</A
-></TD
-><TD
-><A HREF="doc-index-M.html"
->M</A
-></TD
-><TD
-><A HREF="doc-index-N.html"
->N</A
-></TD
-><TD
-><A HREF="doc-index-O.html"
->O</A
-></TD
-><TD
-><A HREF="doc-index-P.html"
->P</A
-></TD
-><TD
-><A HREF="doc-index-R.html"
->R</A
-></TD
-><TD
-><A HREF="doc-index-S.html"
->S</A
-></TD
-><TD
-><A HREF="doc-index-T.html"
->T</A
-></TD
-><TD
-><A HREF="doc-index-U.html"
->U</A
-></TD
-><TD
-><A HREF="doc-index-V.html"
->V</A
-></TD
-><TD
-><A HREF="doc-index-W.html"
->W</A
-></TD
-><TD
-><A HREF="doc-index-43.html"
->+</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Index (A)</TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD CLASS="indexentry"
->Arg</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-HashDefine.html#v%3AArg"
->Language.Preprocessor.Cpphs.HashDefine</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->ArgOrText</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-HashDefine.html#t%3AArgOrText"
->Language.Preprocessor.Cpphs.HashDefine</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->addcol</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Position.html#v%3Aaddcol"
->Language.Preprocessor.Cpphs.Position</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->alphanum</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Aalphanum"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->ansi</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Options.html#v%3Aansi"
->Language.Preprocessor.Cpphs.Options</A
->, <A HREF="Language-Preprocessor-Cpphs.html#v%3Aansi"
->Language.Preprocessor.Cpphs</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->arguments</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-HashDefine.html#v%3Aarguments"
->Language.Preprocessor.Cpphs.HashDefine</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/doc-index-B.html b/docs/cpphs/doc-index-B.html
deleted file mode 100644
--- a/docs/cpphs/doc-index-B.html
+++ /dev/null
@@ -1,180 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->cpphs (Index)</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD
-><A HREF="doc-index-A.html"
->A</A
-></TD
-><TD
-><A HREF="doc-index-B.html"
->B</A
-></TD
-><TD
-><A HREF="doc-index-C.html"
->C</A
-></TD
-><TD
-><A HREF="doc-index-D.html"
->D</A
-></TD
-><TD
-><A HREF="doc-index-E.html"
->E</A
-></TD
-><TD
-><A HREF="doc-index-F.html"
->F</A
-></TD
-><TD
-><A HREF="doc-index-H.html"
->H</A
-></TD
-><TD
-><A HREF="doc-index-I.html"
->I</A
-></TD
-><TD
-><A HREF="doc-index-J.html"
->J</A
-></TD
-><TD
-><A HREF="doc-index-L.html"
->L</A
-></TD
-><TD
-><A HREF="doc-index-M.html"
->M</A
-></TD
-><TD
-><A HREF="doc-index-N.html"
->N</A
-></TD
-><TD
-><A HREF="doc-index-O.html"
->O</A
-></TD
-><TD
-><A HREF="doc-index-P.html"
->P</A
-></TD
-><TD
-><A HREF="doc-index-R.html"
->R</A
-></TD
-><TD
-><A HREF="doc-index-S.html"
->S</A
-></TD
-><TD
-><A HREF="doc-index-T.html"
->T</A
-></TD
-><TD
-><A HREF="doc-index-U.html"
->U</A
-></TD
-><TD
-><A HREF="doc-index-V.html"
->V</A
-></TD
-><TD
-><A HREF="doc-index-W.html"
->W</A
-></TD
-><TD
-><A HREF="doc-index-43.html"
->+</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Index (B)</TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD CLASS="indexentry" COLSPAN="2"
->BoolOptions</TD
-></TR
-><TR
-><TD CLASS="indexannot"
->1 (Type/Class)</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Options.html#t%3ABoolOptions"
->Language.Preprocessor.Cpphs.Options</A
->, <A HREF="Language-Preprocessor-Cpphs.html#t%3ABoolOptions"
->Language.Preprocessor.Cpphs</A
-></TD
-></TR
-><TR
-><TD CLASS="indexannot"
->2 (Data Constructor)</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Options.html#v%3ABoolOptions"
->Language.Preprocessor.Cpphs.Options</A
->, <A HREF="Language-Preprocessor-Cpphs.html#v%3ABoolOptions"
->Language.Preprocessor.Cpphs</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->boolopts</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Options.html#v%3Aboolopts"
->Language.Preprocessor.Cpphs.Options</A
->, <A HREF="Language-Preprocessor-Cpphs.html#v%3Aboolopts"
->Language.Preprocessor.Cpphs</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->bracket</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Abracket"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/doc-index-C.html b/docs/cpphs/doc-index-C.html
deleted file mode 100644
--- a/docs/cpphs/doc-index-C.html
+++ /dev/null
@@ -1,264 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->cpphs (Index)</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD
-><A HREF="doc-index-A.html"
->A</A
-></TD
-><TD
-><A HREF="doc-index-B.html"
->B</A
-></TD
-><TD
-><A HREF="doc-index-C.html"
->C</A
-></TD
-><TD
-><A HREF="doc-index-D.html"
->D</A
-></TD
-><TD
-><A HREF="doc-index-E.html"
->E</A
-></TD
-><TD
-><A HREF="doc-index-F.html"
->F</A
-></TD
-><TD
-><A HREF="doc-index-H.html"
->H</A
-></TD
-><TD
-><A HREF="doc-index-I.html"
->I</A
-></TD
-><TD
-><A HREF="doc-index-J.html"
->J</A
-></TD
-><TD
-><A HREF="doc-index-L.html"
->L</A
-></TD
-><TD
-><A HREF="doc-index-M.html"
->M</A
-></TD
-><TD
-><A HREF="doc-index-N.html"
->N</A
-></TD
-><TD
-><A HREF="doc-index-O.html"
->O</A
-></TD
-><TD
-><A HREF="doc-index-P.html"
->P</A
-></TD
-><TD
-><A HREF="doc-index-R.html"
->R</A
-></TD
-><TD
-><A HREF="doc-index-S.html"
->S</A
-></TD
-><TD
-><A HREF="doc-index-T.html"
->T</A
-></TD
-><TD
-><A HREF="doc-index-U.html"
->U</A
-></TD
-><TD
-><A HREF="doc-index-V.html"
->V</A
-></TD
-><TD
-><A HREF="doc-index-W.html"
->W</A
-></TD
-><TD
-><A HREF="doc-index-43.html"
->+</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Index (C)</TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD CLASS="indexentry"
->Cmd</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Tokenise.html#v%3ACmd"
->Language.Preprocessor.Cpphs.Tokenise</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry" COLSPAN="2"
->ConvertArgs</TD
-></TR
-><TR
-><TD CLASS="indexannot"
->1 (Type/Class)</TD
-><TD CLASS="indexlinks"
-><A HREF="Main.html#t%3AConvertArgs"
->Main</A
-></TD
-></TR
-><TR
-><TD CLASS="indexannot"
->2 (Data Constructor)</TD
-><TD CLASS="indexlinks"
-><A HREF="Main.html#v%3AConvertArgs"
->Main</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry" COLSPAN="2"
->CpphsOptions</TD
-></TR
-><TR
-><TD CLASS="indexannot"
->1 (Type/Class)</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Options.html#t%3ACpphsOptions"
->Language.Preprocessor.Cpphs.Options</A
->, <A HREF="Language-Preprocessor-Cpphs.html#t%3ACpphsOptions"
->Language.Preprocessor.Cpphs</A
-></TD
-></TR
-><TR
-><TD CLASS="indexannot"
->2 (Data Constructor)</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Options.html#v%3ACpphsOptions"
->Language.Preprocessor.Cpphs.Options</A
->, <A HREF="Language-Preprocessor-Cpphs.html#v%3ACpphsOptions"
->Language.Preprocessor.Cpphs</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->chainl</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Achainl"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->chainl1</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Achainl1"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->chainr</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Achainr"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->chainr1</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Achainr1"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->char</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Achar"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->comment</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Acomment"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->convertArgs</TD
-><TD CLASS="indexlinks"
-><A HREF="Main.html#v%3AconvertArgs"
->Main</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->cppIfdef</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-CppIfdef.html#v%3AcppIfdef"
->Language.Preprocessor.Cpphs.CppIfdef</A
->, <A HREF="Language-Preprocessor-Cpphs.html#v%3AcppIfdef"
->Language.Preprocessor.Cpphs</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->cppline</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Position.html#v%3Acppline"
->Language.Preprocessor.Cpphs.Position</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/doc-index-D.html b/docs/cpphs/doc-index-D.html
deleted file mode 100644
--- a/docs/cpphs/doc-index-D.html
+++ /dev/null
@@ -1,216 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->cpphs (Index)</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD
-><A HREF="doc-index-A.html"
->A</A
-></TD
-><TD
-><A HREF="doc-index-B.html"
->B</A
-></TD
-><TD
-><A HREF="doc-index-C.html"
->C</A
-></TD
-><TD
-><A HREF="doc-index-D.html"
->D</A
-></TD
-><TD
-><A HREF="doc-index-E.html"
->E</A
-></TD
-><TD
-><A HREF="doc-index-F.html"
->F</A
-></TD
-><TD
-><A HREF="doc-index-H.html"
->H</A
-></TD
-><TD
-><A HREF="doc-index-I.html"
->I</A
-></TD
-><TD
-><A HREF="doc-index-J.html"
->J</A
-></TD
-><TD
-><A HREF="doc-index-L.html"
->L</A
-></TD
-><TD
-><A HREF="doc-index-M.html"
->M</A
-></TD
-><TD
-><A HREF="doc-index-N.html"
->N</A
-></TD
-><TD
-><A HREF="doc-index-O.html"
->O</A
-></TD
-><TD
-><A HREF="doc-index-P.html"
->P</A
-></TD
-><TD
-><A HREF="doc-index-R.html"
->R</A
-></TD
-><TD
-><A HREF="doc-index-S.html"
->S</A
-></TD
-><TD
-><A HREF="doc-index-T.html"
->T</A
-></TD
-><TD
-><A HREF="doc-index-U.html"
->U</A
-></TD
-><TD
-><A HREF="doc-index-V.html"
->V</A
-></TD
-><TD
-><A HREF="doc-index-W.html"
->W</A
-></TD
-><TD
-><A HREF="doc-index-43.html"
->+</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Index (D)</TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD CLASS="indexentry"
->deWordStyle</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Tokenise.html#v%3AdeWordStyle"
->Language.Preprocessor.Cpphs.Tokenise</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->defaultBoolOptions</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Options.html#v%3AdefaultBoolOptions"
->Language.Preprocessor.Cpphs.Options</A
->, <A HREF="Language-Preprocessor-Cpphs.html#v%3AdefaultBoolOptions"
->Language.Preprocessor.Cpphs</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->defaultCpphsOptions</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Options.html#v%3AdefaultCpphsOptions"
->Language.Preprocessor.Cpphs.Options</A
->, <A HREF="Language-Preprocessor-Cpphs.html#v%3AdefaultCpphsOptions"
->Language.Preprocessor.Cpphs</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->defineMacro</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-MacroPass.html#v%3AdefineMacro"
->Language.Preprocessor.Cpphs.MacroPass</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->definedST</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-SymTab.html#v%3AdefinedST"
->Language.Preprocessor.Cpphs.SymTab</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->defines</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Options.html#v%3Adefines"
->Language.Preprocessor.Cpphs.Options</A
->, <A HREF="Language-Preprocessor-Cpphs.html#v%3Adefines"
->Language.Preprocessor.Cpphs</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->deleteST</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-SymTab.html#v%3AdeleteST"
->Language.Preprocessor.Cpphs.SymTab</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->digit</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Adigit"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->directory</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Position.html#v%3Adirectory"
->Language.Preprocessor.Cpphs.Position</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/doc-index-E.html b/docs/cpphs/doc-index-E.html
deleted file mode 100644
--- a/docs/cpphs/doc-index-E.html
+++ /dev/null
@@ -1,170 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->cpphs (Index)</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD
-><A HREF="doc-index-A.html"
->A</A
-></TD
-><TD
-><A HREF="doc-index-B.html"
->B</A
-></TD
-><TD
-><A HREF="doc-index-C.html"
->C</A
-></TD
-><TD
-><A HREF="doc-index-D.html"
->D</A
-></TD
-><TD
-><A HREF="doc-index-E.html"
->E</A
-></TD
-><TD
-><A HREF="doc-index-F.html"
->F</A
-></TD
-><TD
-><A HREF="doc-index-H.html"
->H</A
-></TD
-><TD
-><A HREF="doc-index-I.html"
->I</A
-></TD
-><TD
-><A HREF="doc-index-J.html"
->J</A
-></TD
-><TD
-><A HREF="doc-index-L.html"
->L</A
-></TD
-><TD
-><A HREF="doc-index-M.html"
->M</A
-></TD
-><TD
-><A HREF="doc-index-N.html"
->N</A
-></TD
-><TD
-><A HREF="doc-index-O.html"
->O</A
-></TD
-><TD
-><A HREF="doc-index-P.html"
->P</A
-></TD
-><TD
-><A HREF="doc-index-R.html"
->R</A
-></TD
-><TD
-><A HREF="doc-index-S.html"
->S</A
-></TD
-><TD
-><A HREF="doc-index-T.html"
->T</A
-></TD
-><TD
-><A HREF="doc-index-U.html"
->U</A
-></TD
-><TD
-><A HREF="doc-index-V.html"
->V</A
-></TD
-><TD
-><A HREF="doc-index-W.html"
->W</A
-></TD
-><TD
-><A HREF="doc-index-43.html"
->+</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Index (E)</TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD CLASS="indexentry"
->emptyST</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-SymTab.html#v%3AemptyST"
->Language.Preprocessor.Cpphs.SymTab</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->execute</TD
-><TD CLASS="indexlinks"
-><A HREF="Main.html#v%3Aexecute"
->Main</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->expandMacro</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-HashDefine.html#v%3AexpandMacro"
->Language.Preprocessor.Cpphs.HashDefine</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->expansion</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-HashDefine.html#v%3Aexpansion"
->Language.Preprocessor.Cpphs.HashDefine</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/doc-index-F.html b/docs/cpphs/doc-index-F.html
deleted file mode 100644
--- a/docs/cpphs/doc-index-F.html
+++ /dev/null
@@ -1,154 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->cpphs (Index)</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD
-><A HREF="doc-index-A.html"
->A</A
-></TD
-><TD
-><A HREF="doc-index-B.html"
->B</A
-></TD
-><TD
-><A HREF="doc-index-C.html"
->C</A
-></TD
-><TD
-><A HREF="doc-index-D.html"
->D</A
-></TD
-><TD
-><A HREF="doc-index-E.html"
->E</A
-></TD
-><TD
-><A HREF="doc-index-F.html"
->F</A
-></TD
-><TD
-><A HREF="doc-index-H.html"
->H</A
-></TD
-><TD
-><A HREF="doc-index-I.html"
->I</A
-></TD
-><TD
-><A HREF="doc-index-J.html"
->J</A
-></TD
-><TD
-><A HREF="doc-index-L.html"
->L</A
-></TD
-><TD
-><A HREF="doc-index-M.html"
->M</A
-></TD
-><TD
-><A HREF="doc-index-N.html"
->N</A
-></TD
-><TD
-><A HREF="doc-index-O.html"
->O</A
-></TD
-><TD
-><A HREF="doc-index-P.html"
->P</A
-></TD
-><TD
-><A HREF="doc-index-R.html"
->R</A
-></TD
-><TD
-><A HREF="doc-index-S.html"
->S</A
-></TD
-><TD
-><A HREF="doc-index-T.html"
->T</A
-></TD
-><TD
-><A HREF="doc-index-U.html"
->U</A
-></TD
-><TD
-><A HREF="doc-index-V.html"
->V</A
-></TD
-><TD
-><A HREF="doc-index-W.html"
->W</A
-></TD
-><TD
-><A HREF="doc-index-43.html"
->+</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Index (F)</TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD CLASS="indexentry"
->filename</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Position.html#v%3Afilename"
->Language.Preprocessor.Cpphs.Position</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->first</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Afirst"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/doc-index-H.html b/docs/cpphs/doc-index-H.html
deleted file mode 100644
--- a/docs/cpphs/doc-index-H.html
+++ /dev/null
@@ -1,146 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->cpphs (Index)</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD
-><A HREF="doc-index-A.html"
->A</A
-></TD
-><TD
-><A HREF="doc-index-B.html"
->B</A
-></TD
-><TD
-><A HREF="doc-index-C.html"
->C</A
-></TD
-><TD
-><A HREF="doc-index-D.html"
->D</A
-></TD
-><TD
-><A HREF="doc-index-E.html"
->E</A
-></TD
-><TD
-><A HREF="doc-index-F.html"
->F</A
-></TD
-><TD
-><A HREF="doc-index-H.html"
->H</A
-></TD
-><TD
-><A HREF="doc-index-I.html"
->I</A
-></TD
-><TD
-><A HREF="doc-index-J.html"
->J</A
-></TD
-><TD
-><A HREF="doc-index-L.html"
->L</A
-></TD
-><TD
-><A HREF="doc-index-M.html"
->M</A
-></TD
-><TD
-><A HREF="doc-index-N.html"
->N</A
-></TD
-><TD
-><A HREF="doc-index-O.html"
->O</A
-></TD
-><TD
-><A HREF="doc-index-P.html"
->P</A
-></TD
-><TD
-><A HREF="doc-index-R.html"
->R</A
-></TD
-><TD
-><A HREF="doc-index-S.html"
->S</A
-></TD
-><TD
-><A HREF="doc-index-T.html"
->T</A
-></TD
-><TD
-><A HREF="doc-index-U.html"
->U</A
-></TD
-><TD
-><A HREF="doc-index-V.html"
->V</A
-></TD
-><TD
-><A HREF="doc-index-W.html"
->W</A
-></TD
-><TD
-><A HREF="doc-index-43.html"
->+</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Index (H)</TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD CLASS="indexentry"
->HashDefine</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-HashDefine.html#t%3AHashDefine"
->Language.Preprocessor.Cpphs.HashDefine</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/doc-index-I.html b/docs/cpphs/doc-index-I.html
deleted file mode 100644
--- a/docs/cpphs/doc-index-I.html
+++ /dev/null
@@ -1,230 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->cpphs (Index)</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD
-><A HREF="doc-index-A.html"
->A</A
-></TD
-><TD
-><A HREF="doc-index-B.html"
->B</A
-></TD
-><TD
-><A HREF="doc-index-C.html"
->C</A
-></TD
-><TD
-><A HREF="doc-index-D.html"
->D</A
-></TD
-><TD
-><A HREF="doc-index-E.html"
->E</A
-></TD
-><TD
-><A HREF="doc-index-F.html"
->F</A
-></TD
-><TD
-><A HREF="doc-index-H.html"
->H</A
-></TD
-><TD
-><A HREF="doc-index-I.html"
->I</A
-></TD
-><TD
-><A HREF="doc-index-J.html"
->J</A
-></TD
-><TD
-><A HREF="doc-index-L.html"
->L</A
-></TD
-><TD
-><A HREF="doc-index-M.html"
->M</A
-></TD
-><TD
-><A HREF="doc-index-N.html"
->N</A
-></TD
-><TD
-><A HREF="doc-index-O.html"
->O</A
-></TD
-><TD
-><A HREF="doc-index-P.html"
->P</A
-></TD
-><TD
-><A HREF="doc-index-R.html"
->R</A
-></TD
-><TD
-><A HREF="doc-index-S.html"
->S</A
-></TD
-><TD
-><A HREF="doc-index-T.html"
->T</A
-></TD
-><TD
-><A HREF="doc-index-U.html"
->U</A
-></TD
-><TD
-><A HREF="doc-index-V.html"
->V</A
-></TD
-><TD
-><A HREF="doc-index-W.html"
->W</A
-></TD
-><TD
-><A HREF="doc-index-43.html"
->+</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Index (I)</TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD CLASS="indexentry"
->Ident</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Tokenise.html#v%3AIdent"
->Language.Preprocessor.Cpphs.Tokenise</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->IndTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-SymTab.html#t%3AIndTree"
->Language.Preprocessor.Cpphs.SymTab</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->ident</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Aident"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->identifier</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Aidentifier"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->includes</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Options.html#v%3Aincludes"
->Language.Preprocessor.Cpphs.Options</A
->, <A HREF="Language-Preprocessor-Cpphs.html#v%3Aincludes"
->Language.Preprocessor.Cpphs</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->infile</TD
-><TD CLASS="indexlinks"
-><A HREF="Main.html#v%3Ainfile"
->Main</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->infiles</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Options.html#v%3Ainfiles"
->Language.Preprocessor.Cpphs.Options</A
->, <A HREF="Language-Preprocessor-Cpphs.html#v%3Ainfiles"
->Language.Preprocessor.Cpphs</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->insertST</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-SymTab.html#v%3AinsertST"
->Language.Preprocessor.Cpphs.SymTab</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->int</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Aint"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->integer</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Ainteger"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->item</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Aitem"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/doc-index-J.html b/docs/cpphs/doc-index-J.html
deleted file mode 100644
--- a/docs/cpphs/doc-index-J.html
+++ /dev/null
@@ -1,146 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->cpphs (Index)</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD
-><A HREF="doc-index-A.html"
->A</A
-></TD
-><TD
-><A HREF="doc-index-B.html"
->B</A
-></TD
-><TD
-><A HREF="doc-index-C.html"
->C</A
-></TD
-><TD
-><A HREF="doc-index-D.html"
->D</A
-></TD
-><TD
-><A HREF="doc-index-E.html"
->E</A
-></TD
-><TD
-><A HREF="doc-index-F.html"
->F</A
-></TD
-><TD
-><A HREF="doc-index-H.html"
->H</A
-></TD
-><TD
-><A HREF="doc-index-I.html"
->I</A
-></TD
-><TD
-><A HREF="doc-index-J.html"
->J</A
-></TD
-><TD
-><A HREF="doc-index-L.html"
->L</A
-></TD
-><TD
-><A HREF="doc-index-M.html"
->M</A
-></TD
-><TD
-><A HREF="doc-index-N.html"
->N</A
-></TD
-><TD
-><A HREF="doc-index-O.html"
->O</A
-></TD
-><TD
-><A HREF="doc-index-P.html"
->P</A
-></TD
-><TD
-><A HREF="doc-index-R.html"
->R</A
-></TD
-><TD
-><A HREF="doc-index-S.html"
->S</A
-></TD
-><TD
-><A HREF="doc-index-T.html"
->T</A
-></TD
-><TD
-><A HREF="doc-index-U.html"
->U</A
-></TD
-><TD
-><A HREF="doc-index-V.html"
->V</A
-></TD
-><TD
-><A HREF="doc-index-W.html"
->W</A
-></TD
-><TD
-><A HREF="doc-index-43.html"
->+</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Index (J)</TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD CLASS="indexentry"
->junk</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Ajunk"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/doc-index-L.html b/docs/cpphs/doc-index-L.html
deleted file mode 100644
--- a/docs/cpphs/doc-index-L.html
+++ /dev/null
@@ -1,234 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->cpphs (Index)</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD
-><A HREF="doc-index-A.html"
->A</A
-></TD
-><TD
-><A HREF="doc-index-B.html"
->B</A
-></TD
-><TD
-><A HREF="doc-index-C.html"
->C</A
-></TD
-><TD
-><A HREF="doc-index-D.html"
->D</A
-></TD
-><TD
-><A HREF="doc-index-E.html"
->E</A
-></TD
-><TD
-><A HREF="doc-index-F.html"
->F</A
-></TD
-><TD
-><A HREF="doc-index-H.html"
->H</A
-></TD
-><TD
-><A HREF="doc-index-I.html"
->I</A
-></TD
-><TD
-><A HREF="doc-index-J.html"
->J</A
-></TD
-><TD
-><A HREF="doc-index-L.html"
->L</A
-></TD
-><TD
-><A HREF="doc-index-M.html"
->M</A
-></TD
-><TD
-><A HREF="doc-index-N.html"
->N</A
-></TD
-><TD
-><A HREF="doc-index-O.html"
->O</A
-></TD
-><TD
-><A HREF="doc-index-P.html"
->P</A
-></TD
-><TD
-><A HREF="doc-index-R.html"
->R</A
-></TD
-><TD
-><A HREF="doc-index-S.html"
->S</A
-></TD
-><TD
-><A HREF="doc-index-T.html"
->T</A
-></TD
-><TD
-><A HREF="doc-index-U.html"
->U</A
-></TD
-><TD
-><A HREF="doc-index-V.html"
->V</A
-></TD
-><TD
-><A HREF="doc-index-W.html"
->W</A
-></TD
-><TD
-><A HREF="doc-index-43.html"
->+</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Index (L)</TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD CLASS="indexentry"
->LineDrop</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-HashDefine.html#v%3ALineDrop"
->Language.Preprocessor.Cpphs.HashDefine</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->lang</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Options.html#v%3Alang"
->Language.Preprocessor.Cpphs.Options</A
->, <A HREF="Language-Preprocessor-Cpphs.html#v%3Alang"
->Language.Preprocessor.Cpphs</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->layout</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Options.html#v%3Alayout"
->Language.Preprocessor.Cpphs.Options</A
->, <A HREF="Language-Preprocessor-Cpphs.html#v%3Alayout"
->Language.Preprocessor.Cpphs</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->letter</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Aletter"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->linebreaks</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-HashDefine.html#v%3Alinebreaks"
->Language.Preprocessor.Cpphs.HashDefine</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->lineno</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Position.html#v%3Alineno"
->Language.Preprocessor.Cpphs.Position</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->linesCpp</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Tokenise.html#v%3AlinesCpp"
->Language.Preprocessor.Cpphs.Tokenise</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->literate</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Options.html#v%3Aliterate"
->Language.Preprocessor.Cpphs.Options</A
->, <A HREF="Language-Preprocessor-Cpphs.html#v%3Aliterate"
->Language.Preprocessor.Cpphs</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->locations</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Options.html#v%3Alocations"
->Language.Preprocessor.Cpphs.Options</A
->, <A HREF="Language-Preprocessor-Cpphs.html#v%3Alocations"
->Language.Preprocessor.Cpphs</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->lookupST</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-SymTab.html#v%3AlookupST"
->Language.Preprocessor.Cpphs.SymTab</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->lower</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Alower"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/doc-index-M.html b/docs/cpphs/doc-index-M.html
deleted file mode 100644
--- a/docs/cpphs/doc-index-M.html
+++ /dev/null
@@ -1,190 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->cpphs (Index)</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD
-><A HREF="doc-index-A.html"
->A</A
-></TD
-><TD
-><A HREF="doc-index-B.html"
->B</A
-></TD
-><TD
-><A HREF="doc-index-C.html"
->C</A
-></TD
-><TD
-><A HREF="doc-index-D.html"
->D</A
-></TD
-><TD
-><A HREF="doc-index-E.html"
->E</A
-></TD
-><TD
-><A HREF="doc-index-F.html"
->F</A
-></TD
-><TD
-><A HREF="doc-index-H.html"
->H</A
-></TD
-><TD
-><A HREF="doc-index-I.html"
->I</A
-></TD
-><TD
-><A HREF="doc-index-J.html"
->J</A
-></TD
-><TD
-><A HREF="doc-index-L.html"
->L</A
-></TD
-><TD
-><A HREF="doc-index-M.html"
->M</A
-></TD
-><TD
-><A HREF="doc-index-N.html"
->N</A
-></TD
-><TD
-><A HREF="doc-index-O.html"
->O</A
-></TD
-><TD
-><A HREF="doc-index-P.html"
->P</A
-></TD
-><TD
-><A HREF="doc-index-R.html"
->R</A
-></TD
-><TD
-><A HREF="doc-index-S.html"
->S</A
-></TD
-><TD
-><A HREF="doc-index-T.html"
->T</A
-></TD
-><TD
-><A HREF="doc-index-U.html"
->U</A
-></TD
-><TD
-><A HREF="doc-index-V.html"
->V</A
-></TD
-><TD
-><A HREF="doc-index-W.html"
->W</A
-></TD
-><TD
-><A HREF="doc-index-43.html"
->+</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Index (M)</TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD CLASS="indexentry"
->MacroExpansion</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-HashDefine.html#v%3AMacroExpansion"
->Language.Preprocessor.Cpphs.HashDefine</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->macroPass</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-MacroPass.html#v%3AmacroPass"
->Language.Preprocessor.Cpphs.MacroPass</A
->, <A HREF="Language-Preprocessor-Cpphs.html#v%3AmacroPass"
->Language.Preprocessor.Cpphs</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->macros</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Options.html#v%3Amacros"
->Language.Preprocessor.Cpphs.Options</A
->, <A HREF="Language-Preprocessor-Cpphs.html#v%3Amacros"
->Language.Preprocessor.Cpphs</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->main</TD
-><TD CLASS="indexlinks"
-><A HREF="Main.html#v%3Amain"
->Main</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->many</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Amany"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->many1</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Amany1"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/doc-index-N.html b/docs/cpphs/doc-index-N.html
deleted file mode 100644
--- a/docs/cpphs/doc-index-N.html
+++ /dev/null
@@ -1,194 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->cpphs (Index)</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD
-><A HREF="doc-index-A.html"
->A</A
-></TD
-><TD
-><A HREF="doc-index-B.html"
->B</A
-></TD
-><TD
-><A HREF="doc-index-C.html"
->C</A
-></TD
-><TD
-><A HREF="doc-index-D.html"
->D</A
-></TD
-><TD
-><A HREF="doc-index-E.html"
->E</A
-></TD
-><TD
-><A HREF="doc-index-F.html"
->F</A
-></TD
-><TD
-><A HREF="doc-index-H.html"
->H</A
-></TD
-><TD
-><A HREF="doc-index-I.html"
->I</A
-></TD
-><TD
-><A HREF="doc-index-J.html"
->J</A
-></TD
-><TD
-><A HREF="doc-index-L.html"
->L</A
-></TD
-><TD
-><A HREF="doc-index-M.html"
->M</A
-></TD
-><TD
-><A HREF="doc-index-N.html"
->N</A
-></TD
-><TD
-><A HREF="doc-index-O.html"
->O</A
-></TD
-><TD
-><A HREF="doc-index-P.html"
->P</A
-></TD
-><TD
-><A HREF="doc-index-R.html"
->R</A
-></TD
-><TD
-><A HREF="doc-index-S.html"
->S</A
-></TD
-><TD
-><A HREF="doc-index-T.html"
->T</A
-></TD
-><TD
-><A HREF="doc-index-U.html"
->U</A
-></TD
-><TD
-><A HREF="doc-index-V.html"
->V</A
-></TD
-><TD
-><A HREF="doc-index-W.html"
->W</A
-></TD
-><TD
-><A HREF="doc-index-43.html"
->+</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Index (N)</TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD CLASS="indexentry"
->name</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-HashDefine.html#v%3Aname"
->Language.Preprocessor.Cpphs.HashDefine</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->nat</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Anat"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->natural</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Anatural"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->newfile</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Position.html#v%3Anewfile"
->Language.Preprocessor.Cpphs.Position</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->newline</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Position.html#v%3Anewline"
->Language.Preprocessor.Cpphs.Position</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->newlines</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Position.html#v%3Anewlines"
->Language.Preprocessor.Cpphs.Position</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->newpos</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Position.html#v%3Anewpos"
->Language.Preprocessor.Cpphs.Position</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/doc-index-O.html b/docs/cpphs/doc-index-O.html
deleted file mode 100644
--- a/docs/cpphs/doc-index-O.html
+++ /dev/null
@@ -1,172 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->cpphs (Index)</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD
-><A HREF="doc-index-A.html"
->A</A
-></TD
-><TD
-><A HREF="doc-index-B.html"
->B</A
-></TD
-><TD
-><A HREF="doc-index-C.html"
->C</A
-></TD
-><TD
-><A HREF="doc-index-D.html"
->D</A
-></TD
-><TD
-><A HREF="doc-index-E.html"
->E</A
-></TD
-><TD
-><A HREF="doc-index-F.html"
->F</A
-></TD
-><TD
-><A HREF="doc-index-H.html"
->H</A
-></TD
-><TD
-><A HREF="doc-index-I.html"
->I</A
-></TD
-><TD
-><A HREF="doc-index-J.html"
->J</A
-></TD
-><TD
-><A HREF="doc-index-L.html"
->L</A
-></TD
-><TD
-><A HREF="doc-index-M.html"
->M</A
-></TD
-><TD
-><A HREF="doc-index-N.html"
->N</A
-></TD
-><TD
-><A HREF="doc-index-O.html"
->O</A
-></TD
-><TD
-><A HREF="doc-index-P.html"
->P</A
-></TD
-><TD
-><A HREF="doc-index-R.html"
->R</A
-></TD
-><TD
-><A HREF="doc-index-S.html"
->S</A
-></TD
-><TD
-><A HREF="doc-index-T.html"
->T</A
-></TD
-><TD
-><A HREF="doc-index-U.html"
->U</A
-></TD
-><TD
-><A HREF="doc-index-V.html"
->V</A
-></TD
-><TD
-><A HREF="doc-index-W.html"
->W</A
-></TD
-><TD
-><A HREF="doc-index-43.html"
->+</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Index (O)</TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD CLASS="indexentry"
->Other</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Tokenise.html#v%3AOther"
->Language.Preprocessor.Cpphs.Tokenise</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->ops</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Aops"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->outfile</TD
-><TD CLASS="indexlinks"
-><A HREF="Main.html#v%3Aoutfile"
->Main</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->outfiles</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Options.html#v%3Aoutfiles"
->Language.Preprocessor.Cpphs.Options</A
->, <A HREF="Language-Preprocessor-Cpphs.html#v%3Aoutfiles"
->Language.Preprocessor.Cpphs</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/doc-index-P.html b/docs/cpphs/doc-index-P.html
deleted file mode 100644
--- a/docs/cpphs/doc-index-P.html
+++ /dev/null
@@ -1,240 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->cpphs (Index)</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD
-><A HREF="doc-index-A.html"
->A</A
-></TD
-><TD
-><A HREF="doc-index-B.html"
->B</A
-></TD
-><TD
-><A HREF="doc-index-C.html"
->C</A
-></TD
-><TD
-><A HREF="doc-index-D.html"
->D</A
-></TD
-><TD
-><A HREF="doc-index-E.html"
->E</A
-></TD
-><TD
-><A HREF="doc-index-F.html"
->F</A
-></TD
-><TD
-><A HREF="doc-index-H.html"
->H</A
-></TD
-><TD
-><A HREF="doc-index-I.html"
->I</A
-></TD
-><TD
-><A HREF="doc-index-J.html"
->J</A
-></TD
-><TD
-><A HREF="doc-index-L.html"
->L</A
-></TD
-><TD
-><A HREF="doc-index-M.html"
->M</A
-></TD
-><TD
-><A HREF="doc-index-N.html"
->N</A
-></TD
-><TD
-><A HREF="doc-index-O.html"
->O</A
-></TD
-><TD
-><A HREF="doc-index-P.html"
->P</A
-></TD
-><TD
-><A HREF="doc-index-R.html"
->R</A
-></TD
-><TD
-><A HREF="doc-index-S.html"
->S</A
-></TD
-><TD
-><A HREF="doc-index-T.html"
->T</A
-></TD
-><TD
-><A HREF="doc-index-U.html"
->U</A
-></TD
-><TD
-><A HREF="doc-index-V.html"
->V</A
-></TD
-><TD
-><A HREF="doc-index-W.html"
->W</A
-></TD
-><TD
-><A HREF="doc-index-43.html"
->+</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Index (P)</TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD CLASS="indexentry"
->P</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3AP"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->Parser</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->Pn</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Position.html#v%3APn"
->Language.Preprocessor.Cpphs.Position</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->Posn</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Position.html#t%3APosn"
->Language.Preprocessor.Cpphs.Position</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->Pragma</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-HashDefine.html#v%3APragma"
->Language.Preprocessor.Cpphs.HashDefine</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->papply</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Apapply"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->parseHashDefine</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-HashDefine.html#v%3AparseHashDefine"
->Language.Preprocessor.Cpphs.HashDefine</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->parseMacroCall</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Tokenise.html#v%3AparseMacroCall"
->Language.Preprocessor.Cpphs.Tokenise</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->parseOptions</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Options.html#v%3AparseOptions"
->Language.Preprocessor.Cpphs.Options</A
->, <A HREF="Language-Preprocessor-Cpphs.html#v%3AparseOptions"
->Language.Preprocessor.Cpphs</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->pragma</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Options.html#v%3Apragma"
->Language.Preprocessor.Cpphs.Options</A
->, <A HREF="Language-Preprocessor-Cpphs.html#v%3Apragma"
->Language.Preprocessor.Cpphs</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->preDefine</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-MacroPass.html#v%3ApreDefine"
->Language.Preprocessor.Cpphs.MacroPass</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->preInclude</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Options.html#v%3ApreInclude"
->Language.Preprocessor.Cpphs.Options</A
->, <A HREF="Language-Preprocessor-Cpphs.html#v%3ApreInclude"
->Language.Preprocessor.Cpphs</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/doc-index-R.html b/docs/cpphs/doc-index-R.html
deleted file mode 100644
--- a/docs/cpphs/doc-index-R.html
+++ /dev/null
@@ -1,172 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->cpphs (Index)</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD
-><A HREF="doc-index-A.html"
->A</A
-></TD
-><TD
-><A HREF="doc-index-B.html"
->B</A
-></TD
-><TD
-><A HREF="doc-index-C.html"
->C</A
-></TD
-><TD
-><A HREF="doc-index-D.html"
->D</A
-></TD
-><TD
-><A HREF="doc-index-E.html"
->E</A
-></TD
-><TD
-><A HREF="doc-index-F.html"
->F</A
-></TD
-><TD
-><A HREF="doc-index-H.html"
->H</A
-></TD
-><TD
-><A HREF="doc-index-I.html"
->I</A
-></TD
-><TD
-><A HREF="doc-index-J.html"
->J</A
-></TD
-><TD
-><A HREF="doc-index-L.html"
->L</A
-></TD
-><TD
-><A HREF="doc-index-M.html"
->M</A
-></TD
-><TD
-><A HREF="doc-index-N.html"
->N</A
-></TD
-><TD
-><A HREF="doc-index-O.html"
->O</A
-></TD
-><TD
-><A HREF="doc-index-P.html"
->P</A
-></TD
-><TD
-><A HREF="doc-index-R.html"
->R</A
-></TD
-><TD
-><A HREF="doc-index-S.html"
->S</A
-></TD
-><TD
-><A HREF="doc-index-T.html"
->T</A
-></TD
-><TD
-><A HREF="doc-index-U.html"
->U</A
-></TD
-><TD
-><A HREF="doc-index-V.html"
->V</A
-></TD
-><TD
-><A HREF="doc-index-W.html"
->W</A
-></TD
-><TD
-><A HREF="doc-index-43.html"
->+</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Index (R)</TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD CLASS="indexentry"
->readFirst</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-ReadFirst.html#v%3AreadFirst"
->Language.Preprocessor.Cpphs.ReadFirst</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->replacement</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-HashDefine.html#v%3Areplacement"
->Language.Preprocessor.Cpphs.HashDefine</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->reslash</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Tokenise.html#v%3Areslash"
->Language.Preprocessor.Cpphs.Tokenise</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->runCpphs</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-RunCpphs.html#v%3ArunCpphs"
->Language.Preprocessor.Cpphs.RunCpphs</A
->, <A HREF="Language-Preprocessor-Cpphs.html#v%3ArunCpphs"
->Language.Preprocessor.Cpphs</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/doc-index-S.html b/docs/cpphs/doc-index-S.html
deleted file mode 100644
--- a/docs/cpphs/doc-index-S.html
+++ /dev/null
@@ -1,246 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->cpphs (Index)</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD
-><A HREF="doc-index-A.html"
->A</A
-></TD
-><TD
-><A HREF="doc-index-B.html"
->B</A
-></TD
-><TD
-><A HREF="doc-index-C.html"
->C</A
-></TD
-><TD
-><A HREF="doc-index-D.html"
->D</A
-></TD
-><TD
-><A HREF="doc-index-E.html"
->E</A
-></TD
-><TD
-><A HREF="doc-index-F.html"
->F</A
-></TD
-><TD
-><A HREF="doc-index-H.html"
->H</A
-></TD
-><TD
-><A HREF="doc-index-I.html"
->I</A
-></TD
-><TD
-><A HREF="doc-index-J.html"
->J</A
-></TD
-><TD
-><A HREF="doc-index-L.html"
->L</A
-></TD
-><TD
-><A HREF="doc-index-M.html"
->M</A
-></TD
-><TD
-><A HREF="doc-index-N.html"
->N</A
-></TD
-><TD
-><A HREF="doc-index-O.html"
->O</A
-></TD
-><TD
-><A HREF="doc-index-P.html"
->P</A
-></TD
-><TD
-><A HREF="doc-index-R.html"
->R</A
-></TD
-><TD
-><A HREF="doc-index-S.html"
->S</A
-></TD
-><TD
-><A HREF="doc-index-T.html"
->T</A
-></TD
-><TD
-><A HREF="doc-index-U.html"
->U</A
-></TD
-><TD
-><A HREF="doc-index-V.html"
->V</A
-></TD
-><TD
-><A HREF="doc-index-W.html"
->W</A
-></TD
-><TD
-><A HREF="doc-index-43.html"
->+</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Index (S)</TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD CLASS="indexentry"
->Str</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-HashDefine.html#v%3AStr"
->Language.Preprocessor.Cpphs.HashDefine</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->SymTab</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-SymTab.html#t%3ASymTab"
->Language.Preprocessor.Cpphs.SymTab</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->SymbolReplacement</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-HashDefine.html#v%3ASymbolReplacement"
->Language.Preprocessor.Cpphs.HashDefine</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->sat</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Asat"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->sepby</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Asepby"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->sepby1</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Asepby1"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->skip</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Askip"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->spaces</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Aspaces"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->string</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Astring"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->strip</TD
-><TD CLASS="indexlinks"
-><A HREF="Main.html#v%3Astrip"
->Main</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->stripC89</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Options.html#v%3AstripC89"
->Language.Preprocessor.Cpphs.Options</A
->, <A HREF="Language-Preprocessor-Cpphs.html#v%3AstripC89"
->Language.Preprocessor.Cpphs</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->stripEol</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Options.html#v%3AstripEol"
->Language.Preprocessor.Cpphs.Options</A
->, <A HREF="Language-Preprocessor-Cpphs.html#v%3AstripEol"
->Language.Preprocessor.Cpphs</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->symbol</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Asymbol"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/doc-index-T.html b/docs/cpphs/doc-index-T.html
deleted file mode 100644
--- a/docs/cpphs/doc-index-T.html
+++ /dev/null
@@ -1,178 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->cpphs (Index)</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD
-><A HREF="doc-index-A.html"
->A</A
-></TD
-><TD
-><A HREF="doc-index-B.html"
->B</A
-></TD
-><TD
-><A HREF="doc-index-C.html"
->C</A
-></TD
-><TD
-><A HREF="doc-index-D.html"
->D</A
-></TD
-><TD
-><A HREF="doc-index-E.html"
->E</A
-></TD
-><TD
-><A HREF="doc-index-F.html"
->F</A
-></TD
-><TD
-><A HREF="doc-index-H.html"
->H</A
-></TD
-><TD
-><A HREF="doc-index-I.html"
->I</A
-></TD
-><TD
-><A HREF="doc-index-J.html"
->J</A
-></TD
-><TD
-><A HREF="doc-index-L.html"
->L</A
-></TD
-><TD
-><A HREF="doc-index-M.html"
->M</A
-></TD
-><TD
-><A HREF="doc-index-N.html"
->N</A
-></TD
-><TD
-><A HREF="doc-index-O.html"
->O</A
-></TD
-><TD
-><A HREF="doc-index-P.html"
->P</A
-></TD
-><TD
-><A HREF="doc-index-R.html"
->R</A
-></TD
-><TD
-><A HREF="doc-index-S.html"
->S</A
-></TD
-><TD
-><A HREF="doc-index-T.html"
->T</A
-></TD
-><TD
-><A HREF="doc-index-U.html"
->U</A
-></TD
-><TD
-><A HREF="doc-index-V.html"
->V</A
-></TD
-><TD
-><A HREF="doc-index-W.html"
->W</A
-></TD
-><TD
-><A HREF="doc-index-43.html"
->+</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Index (T)</TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD CLASS="indexentry"
->Text</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-HashDefine.html#v%3AText"
->Language.Preprocessor.Cpphs.HashDefine</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->tab</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Position.html#v%3Atab"
->Language.Preprocessor.Cpphs.Position</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->token</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Atoken"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->tokenise</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Tokenise.html#v%3Atokenise"
->Language.Preprocessor.Cpphs.Tokenise</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->traditional</TD
-><TD CLASS="indexlinks"
-><A HREF="Main.html#v%3Atraditional"
->Main</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/doc-index-U.html b/docs/cpphs/doc-index-U.html
deleted file mode 100644
--- a/docs/cpphs/doc-index-U.html
+++ /dev/null
@@ -1,154 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->cpphs (Index)</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD
-><A HREF="doc-index-A.html"
->A</A
-></TD
-><TD
-><A HREF="doc-index-B.html"
->B</A
-></TD
-><TD
-><A HREF="doc-index-C.html"
->C</A
-></TD
-><TD
-><A HREF="doc-index-D.html"
->D</A
-></TD
-><TD
-><A HREF="doc-index-E.html"
->E</A
-></TD
-><TD
-><A HREF="doc-index-F.html"
->F</A
-></TD
-><TD
-><A HREF="doc-index-H.html"
->H</A
-></TD
-><TD
-><A HREF="doc-index-I.html"
->I</A
-></TD
-><TD
-><A HREF="doc-index-J.html"
->J</A
-></TD
-><TD
-><A HREF="doc-index-L.html"
->L</A
-></TD
-><TD
-><A HREF="doc-index-M.html"
->M</A
-></TD
-><TD
-><A HREF="doc-index-N.html"
->N</A
-></TD
-><TD
-><A HREF="doc-index-O.html"
->O</A
-></TD
-><TD
-><A HREF="doc-index-P.html"
->P</A
-></TD
-><TD
-><A HREF="doc-index-R.html"
->R</A
-></TD
-><TD
-><A HREF="doc-index-S.html"
->S</A
-></TD
-><TD
-><A HREF="doc-index-T.html"
->T</A
-></TD
-><TD
-><A HREF="doc-index-U.html"
->U</A
-></TD
-><TD
-><A HREF="doc-index-V.html"
->V</A
-></TD
-><TD
-><A HREF="doc-index-W.html"
->W</A
-></TD
-><TD
-><A HREF="doc-index-43.html"
->+</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Index (U)</TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD CLASS="indexentry"
->unlit</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Unlit.html#v%3Aunlit"
->Language.Preprocessor.Unlit</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->upper</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html#v%3Aupper"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/doc-index-V.html b/docs/cpphs/doc-index-V.html
deleted file mode 100644
--- a/docs/cpphs/doc-index-V.html
+++ /dev/null
@@ -1,146 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->cpphs (Index)</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD
-><A HREF="doc-index-A.html"
->A</A
-></TD
-><TD
-><A HREF="doc-index-B.html"
->B</A
-></TD
-><TD
-><A HREF="doc-index-C.html"
->C</A
-></TD
-><TD
-><A HREF="doc-index-D.html"
->D</A
-></TD
-><TD
-><A HREF="doc-index-E.html"
->E</A
-></TD
-><TD
-><A HREF="doc-index-F.html"
->F</A
-></TD
-><TD
-><A HREF="doc-index-H.html"
->H</A
-></TD
-><TD
-><A HREF="doc-index-I.html"
->I</A
-></TD
-><TD
-><A HREF="doc-index-J.html"
->J</A
-></TD
-><TD
-><A HREF="doc-index-L.html"
->L</A
-></TD
-><TD
-><A HREF="doc-index-M.html"
->M</A
-></TD
-><TD
-><A HREF="doc-index-N.html"
->N</A
-></TD
-><TD
-><A HREF="doc-index-O.html"
->O</A
-></TD
-><TD
-><A HREF="doc-index-P.html"
->P</A
-></TD
-><TD
-><A HREF="doc-index-R.html"
->R</A
-></TD
-><TD
-><A HREF="doc-index-S.html"
->S</A
-></TD
-><TD
-><A HREF="doc-index-T.html"
->T</A
-></TD
-><TD
-><A HREF="doc-index-U.html"
->U</A
-></TD
-><TD
-><A HREF="doc-index-V.html"
->V</A
-></TD
-><TD
-><A HREF="doc-index-W.html"
->W</A
-></TD
-><TD
-><A HREF="doc-index-43.html"
->+</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Index (V)</TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD CLASS="indexentry"
->version</TD
-><TD CLASS="indexlinks"
-><A HREF="Main.html#v%3Aversion"
->Main</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/doc-index-W.html b/docs/cpphs/doc-index-W.html
deleted file mode 100644
--- a/docs/cpphs/doc-index-W.html
+++ /dev/null
@@ -1,156 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->cpphs (Index)</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD
-><A HREF="doc-index-A.html"
->A</A
-></TD
-><TD
-><A HREF="doc-index-B.html"
->B</A
-></TD
-><TD
-><A HREF="doc-index-C.html"
->C</A
-></TD
-><TD
-><A HREF="doc-index-D.html"
->D</A
-></TD
-><TD
-><A HREF="doc-index-E.html"
->E</A
-></TD
-><TD
-><A HREF="doc-index-F.html"
->F</A
-></TD
-><TD
-><A HREF="doc-index-H.html"
->H</A
-></TD
-><TD
-><A HREF="doc-index-I.html"
->I</A
-></TD
-><TD
-><A HREF="doc-index-J.html"
->J</A
-></TD
-><TD
-><A HREF="doc-index-L.html"
->L</A
-></TD
-><TD
-><A HREF="doc-index-M.html"
->M</A
-></TD
-><TD
-><A HREF="doc-index-N.html"
->N</A
-></TD
-><TD
-><A HREF="doc-index-O.html"
->O</A
-></TD
-><TD
-><A HREF="doc-index-P.html"
->P</A
-></TD
-><TD
-><A HREF="doc-index-R.html"
->R</A
-></TD
-><TD
-><A HREF="doc-index-S.html"
->S</A
-></TD
-><TD
-><A HREF="doc-index-T.html"
->T</A
-></TD
-><TD
-><A HREF="doc-index-U.html"
->U</A
-></TD
-><TD
-><A HREF="doc-index-V.html"
->V</A
-></TD
-><TD
-><A HREF="doc-index-W.html"
->W</A
-></TD
-><TD
-><A HREF="doc-index-43.html"
->+</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Index (W)</TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD CLASS="indexentry"
->WordStyle</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Tokenise.html#t%3AWordStyle"
->Language.Preprocessor.Cpphs.Tokenise</A
-></TD
-></TR
-><TR
-><TD CLASS="indexentry"
->warnings</TD
-><TD CLASS="indexlinks"
-><A HREF="Language-Preprocessor-Cpphs-Options.html#v%3Awarnings"
->Language.Preprocessor.Cpphs.Options</A
->, <A HREF="Language-Preprocessor-Cpphs.html#v%3Awarnings"
->Language.Preprocessor.Cpphs</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/doc-index.html b/docs/cpphs/doc-index.html
deleted file mode 100644
--- a/docs/cpphs/doc-index.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->cpphs (Index)</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Index</TD
-></TR
-><TR
-><TD
-><TABLE CELLPADDING="0" CELLSPACING="5"
-><TR
-><TD
-><A HREF="doc-index-A.html"
->A</A
-></TD
-><TD
-><A HREF="doc-index-B.html"
->B</A
-></TD
-><TD
-><A HREF="doc-index-C.html"
->C</A
-></TD
-><TD
-><A HREF="doc-index-D.html"
->D</A
-></TD
-><TD
-><A HREF="doc-index-E.html"
->E</A
-></TD
-><TD
-><A HREF="doc-index-F.html"
->F</A
-></TD
-><TD
-><A HREF="doc-index-H.html"
->H</A
-></TD
-><TD
-><A HREF="doc-index-I.html"
->I</A
-></TD
-><TD
-><A HREF="doc-index-J.html"
->J</A
-></TD
-><TD
-><A HREF="doc-index-L.html"
->L</A
-></TD
-><TD
-><A HREF="doc-index-M.html"
->M</A
-></TD
-><TD
-><A HREF="doc-index-N.html"
->N</A
-></TD
-><TD
-><A HREF="doc-index-O.html"
->O</A
-></TD
-><TD
-><A HREF="doc-index-P.html"
->P</A
-></TD
-><TD
-><A HREF="doc-index-R.html"
->R</A
-></TD
-><TD
-><A HREF="doc-index-S.html"
->S</A
-></TD
-><TD
-><A HREF="doc-index-T.html"
->T</A
-></TD
-><TD
-><A HREF="doc-index-U.html"
->U</A
-></TD
-><TD
-><A HREF="doc-index-V.html"
->V</A
-></TD
-><TD
-><A HREF="doc-index-W.html"
->W</A
-></TD
-><TD
-><A HREF="doc-index-43.html"
->+</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/haddock.css b/docs/cpphs/haddock.css
deleted file mode 100644
--- a/docs/cpphs/haddock.css
+++ /dev/null
@@ -1,260 +0,0 @@
-/* -------- Global things --------- */
-
-BODY { 
-  background-color: #ffffff;
-  color: #000000;
-  font-family: sans-serif;
-  } 
-
-A:link    { color: #0000e0; text-decoration: none }
-A:visited { color: #0000a0; text-decoration: none }
-A:hover   { background-color: #e0e0ff; text-decoration: none }
-
-TABLE.vanilla {
-  width: 100%;
-  border-width: 0px;
-  /* I can't seem to specify cellspacing or cellpadding properly using CSS... */
-}
-
-TABLE.vanilla2 {
-  border-width: 0px;
-}
-
-/* <TT> font is a little too small in MSIE */
-TT  { font-size: 100%; }
-PRE { font-size: 100%; }
-
-LI P { margin: 0pt } 
-
-TD {
-  border-width: 0px;
-}
-
-TABLE.narrow {
-  border-width: 0px;
-}
-
-TD.s8  {  height: 8px;  }
-TD.s15 {  height: 15px; }
-
-SPAN.keyword { text-decoration: underline; }
-
-/* Resize the buttom image to match the text size */
-IMG.coll { width : 0.75em; height: 0.75em; margin-bottom: 0; margin-right: 0.5em }
-
-/* --------- Contents page ---------- */
-
-DIV.node {
-  padding-left: 3em;
-}
-
-DIV.cnode {
-  padding-left: 1.75em;
-}
-
-SPAN.pkg {
-  position: absolute;
-  left: 50em;
-}
-
-/* --------- Documentation elements ---------- */
-
-TD.children {
-  padding-left: 25px;
-  }
-
-TD.synopsis {
-  padding: 2px;
-  background-color: #f0f0f0;
-  font-family: monospace
- }
-
-TD.decl { 
-  padding: 2px;
-  background-color: #f0f0f0; 
-  font-family: monospace;
-  vertical-align: top;
-  }
-
-TD.topdecl {
-  padding: 2px;
-  background-color: #f0f0f0;
-  font-family: monospace;
-  vertical-align: top;
-}
-
-TABLE.declbar {
-  border-spacing: 0px;
- }
-
-TD.declname {
-  width: 100%;
- }
-
-TD.declbut {
-  padding-left: 5px;
-  padding-right: 5px;
-  border-left-width: 1px;
-  border-left-color: #000099;
-  border-left-style: solid;
-  white-space: nowrap;
-  font-size: small;
- }
-
-/* 
-  arg is just like decl, except that wrapping is not allowed.  It is
-  used for function and constructor arguments which have a text box
-  to the right, where if wrapping is allowed the text box squashes up
-  the declaration by wrapping it.
-*/
-TD.arg { 
-  padding: 2px;
-  background-color: #f0f0f0; 
-  font-family: monospace;
-  vertical-align: top;
-  white-space: nowrap;
-  }
-
-TD.recfield { padding-left: 20px }
-
-TD.doc  { 
-  padding-top: 2px;
-  padding-left: 10px;
-  }
-
-TD.ndoc  { 
-  padding: 2px;
-  }
-
-TD.rdoc  { 
-  padding: 2px;
-  padding-left: 10px;
-  width: 100%;
-  }
-
-TD.body  { 
-  padding-left: 10px
-  }
-
-TD.pkg {
-  width: 100%;
-  padding-left: 10px
-}
-
-TD.indexentry {
-  vertical-align: top;
-  padding-right: 10px
-  }
-
-TD.indexannot {
-  vertical-align: top;
-  padding-left: 20px;
-  white-space: nowrap
-  }
-
-TD.indexlinks {
-  width: 100%
-  }
-
-/* ------- Section Headings ------- */
-
-TD.section1 {
-  padding-top: 15px;
-  font-weight: bold;
-  font-size: 150%
-  }
-
-TD.section2 {
-  padding-top: 10px;
-  font-weight: bold;
-  font-size: 130%
-  }
-
-TD.section3 {
-  padding-top: 5px;
-  font-weight: bold;
-  font-size: 110%
-  }
-
-TD.section4 {
-  font-weight: bold;
-  font-size: 100%
-  }
-
-/* -------------- The title bar at the top of the page */
-
-TD.infohead {
-  color: #ffffff;
-  font-weight: bold;
-  padding-right: 10px;
-  text-align: left;
-}
-
-TD.infoval {
-  color: #ffffff;
-  padding-right: 10px;
-  text-align: left;
-}
-
-TD.topbar {
-  background-color: #000099;
-  padding: 5px;
-}
-
-TD.title {
-  color: #ffffff;
-  padding-left: 10px;
-  width: 100%
-  }
-
-TD.topbut {
-  padding-left: 5px;
-  padding-right: 5px;
-  border-left-width: 1px;
-  border-left-color: #ffffff;
-  border-left-style: solid;
-  white-space: nowrap;
-  }
-
-TD.topbut A:link {
-  color: #ffffff
-  }
-
-TD.topbut A:visited {
-  color: #ffff00
-  }
-
-TD.topbut A:hover {
-  background-color: #6060ff;
-  }
-
-TD.topbut:hover {
-  background-color: #6060ff
-  }
-
-TD.modulebar { 
-  background-color: #0077dd;
-  padding: 5px;
-  border-top-width: 1px;
-  border-top-color: #ffffff;
-  border-top-style: solid;
-  }
-
-/* --------- The page footer --------- */
-
-TD.botbar {
-  background-color: #000099;
-  color: #ffffff;
-  padding: 5px
-  }
-TD.botbar A:link {
-  color: #ffffff;
-  text-decoration: underline
-  }
-TD.botbar A:visited {
-  color: #ffff00
-  }
-TD.botbar A:hover {
-  background-color: #6060ff
-  }
-
diff --git a/docs/cpphs/haddock.js b/docs/cpphs/haddock.js
deleted file mode 100644
--- a/docs/cpphs/haddock.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Haddock JavaScript utilities
-function toggle(button,id)
-{
-   var n = document.getElementById(id).style;
-   if (n.display == "none")
-   {
-	button.src = "minus.gif";
-	n.display = "block";
-   }
-   else
-   {
-	button.src = "plus.gif";
-	n.display = "none";
-   }
-}
diff --git a/docs/cpphs/haskell_icon.gif b/docs/cpphs/haskell_icon.gif
deleted file mode 100644
Binary files a/docs/cpphs/haskell_icon.gif and /dev/null differ
diff --git a/docs/cpphs/index.html b/docs/cpphs/index.html
deleted file mode 100644
--- a/docs/cpphs/index.html
+++ /dev/null
@@ -1,255 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->cpphs</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock.js" TYPE="text/javascript"
-></SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
->cpphs</TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Modules</TD
-></TR
-><TR
-><TD
-><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD STYLE="width: 50em"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:0')" ALT="show/hide"
->Language</TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
-><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:0" STYLE="display:block;"
-><TR
-><TD STYLE="width: 48em"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:1')" ALT="show/hide"
->Preprocessor</TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
-><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:1" STYLE="display:block;"
-><TR
-><TD STYLE="width: 46em"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:2')" ALT="show/hide"
-><A HREF="Language-Preprocessor-Cpphs.html"
->Language.Preprocessor.Cpphs</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
-><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:2" STYLE="display:block;"
-><TR
-><TD STYLE="padding-left: 1.25em;width: 44em"
-><A HREF="Language-Preprocessor-Cpphs-CppIfdef.html"
->Language.Preprocessor.Cpphs.CppIfdef</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 44em"
-><A HREF="Language-Preprocessor-Cpphs-HashDefine.html"
->Language.Preprocessor.Cpphs.HashDefine</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 44em"
-><A HREF="Language-Preprocessor-Cpphs-MacroPass.html"
->Language.Preprocessor.Cpphs.MacroPass</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 44em"
-><A HREF="Language-Preprocessor-Cpphs-Options.html"
->Language.Preprocessor.Cpphs.Options</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 44em"
-><A HREF="Language-Preprocessor-Cpphs-Position.html"
->Language.Preprocessor.Cpphs.Position</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 44em"
-><A HREF="Language-Preprocessor-Cpphs-ReadFirst.html"
->Language.Preprocessor.Cpphs.ReadFirst</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 44em"
-><A HREF="Language-Preprocessor-Cpphs-RunCpphs.html"
->Language.Preprocessor.Cpphs.RunCpphs</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 44em"
-><A HREF="Language-Preprocessor-Cpphs-SymTab.html"
->Language.Preprocessor.Cpphs.SymTab</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 44em"
-><A HREF="Language-Preprocessor-Cpphs-Tokenise.html"
->Language.Preprocessor.Cpphs.Tokenise</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 46em"
-><A HREF="Language-Preprocessor-Unlit.html"
->Language.Preprocessor.Unlit</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 50em"
-><A HREF="Main.html"
->Main</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="width: 50em"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:3')" ALT="show/hide"
->Text</TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
-><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:3" STYLE="display:block;"
-><TR
-><TD STYLE="width: 48em"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:4')" ALT="show/hide"
->ParserCombinators</TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
-><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:4" STYLE="display:block;"
-><TR
-><TD STYLE="padding-left: 1.25em;width: 46em"
-><A HREF="Text-ParserCombinators-HuttonMeijer.html"
->Text.ParserCombinators.HuttonMeijer</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 0.8</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/docs/cpphs/minus.gif b/docs/cpphs/minus.gif
deleted file mode 100644
Binary files a/docs/cpphs/minus.gif and /dev/null differ
diff --git a/docs/cpphs/plus.gif b/docs/cpphs/plus.gif
deleted file mode 100644
Binary files a/docs/cpphs/plus.gif and /dev/null differ
diff --git a/docs/index.html b/docs/index.html
--- a/docs/index.html
+++ b/docs/index.html
@@ -101,7 +101,9 @@
 <tt>#include</tt>'d, cpphs inserts <tt>#line</tt> directives for the
 same reason.  Numbering should be correct even in the presence of
 line continuations.  If you don't want <tt>#line</tt> directives in
-the final output, use the <tt>--noline</tt> option.
+the final output, use the <tt>--noline</tt> option, or if you would
+prefer them in <tt>{-# LINE #-}</tt> Haskell pragma format, use the
+<tt>--linepragma</tt> option.
 
 <p>
 Any syntax error in a cpp directive gives a warning message to stderr.
@@ -114,7 +116,7 @@
 <center><pre>
 Usage: cpphs  [ filename | -Dsym | -Dsym=val | -Ipath ]+  [-Ofile]
               [--include=file]*
-              [--nomacro] [--noline] [--nowarn] [--pragma]
+              [--nomacro] [--noline] [--linepragma] [--nowarn] [--pragma]
               [--strip] [--strip-eol]
               [--text] [--hashes] [--layout] [--unlit]
               [ --cpp compatopts ]
@@ -152,6 +154,8 @@
     <td>only process #ifdef's and #include's, do not expand macros</td></tr>
 <tr><td>--noline</td>
     <td>remove #line droppings from the output</td></tr>
+<tr><td>--linepragma</td>
+    <td>convert #line droppings into {-# LINE #-} format</td></tr>
 <tr><td>--nowarn</td>
     <td>suppress messages from missing #include files, or #warning</td></tr>
 <tr><td>--pragma</td>
@@ -194,16 +198,13 @@
 <b>Current stable version:</b>
 
 <p>
-cpphs-1.9, release date 2009.09.07<br>
+cpphs-1.10, release date 2010.01.30<br>
 By HTTP:
-<a href="http://www.cs.york.ac.uk/fp/cpphs/cpphs-1.9.tar.gz">.tar.gz</a>,
-<a href="http://www.cs.york.ac.uk/fp/cpphs/cpphs-1.9.zip">.zip</a>.
-<a href="http://www.haskell.org/fedora/">Fedora package</a>,
-<a href="http://packages.gentoo.org/packages/?category=dev-haskell;name=cpphs">Gentoo package</a>,
-<a href="http://www.freshports.org/devel/hs-cpphs/">FreeBSD port</a>,
-<a href="http://www.openbsd.org/cgi-bin/cvsweb/ports/devel/cpphs/">OpenBSD port</a>.
+<a href="http://www.cs.york.ac.uk/fp/cpphs/cpphs-1.10.tar.gz">.tar.gz</a>,
+<a href="http://www.cs.york.ac.uk/fp/cpphs/cpphs-1.10.zip">.zip</a>,
+<a href="http://hackage.haskell.org/package/cpphs">Hackage</a>.
 <ul>
-<li> Bugfix for #undef.
+<li> New command-line flag: --linepragma
 </ul>
 
 <p>
@@ -227,6 +228,15 @@
 <b>Older versions:</b>
 
 <p>
+cpphs-1.9, release date 2009.09.07<br>
+By HTTP:
+<a href="http://www.cs.york.ac.uk/fp/cpphs/cpphs-1.9.tar.gz">.tar.gz</a>,
+<a href="http://www.cs.york.ac.uk/fp/cpphs/cpphs-1.9.zip">.zip</a>.
+<ul>
+<li> Bugfix for #undef.
+</ul>
+
+<p>
 cpphs-1.8, release date 2009.08.06<br>
 By HTTP:
 <a href="http://www.cs.york.ac.uk/fp/cpphs/cpphs-1.8.tar.gz">.tar.gz</a>,
@@ -555,7 +565,7 @@
         Malcolm.Wallace@cs.york.ac.uk</a> 
 </ul>
 
-<p><b>Copyright:</b> &copy; 2004-2009 Malcolm Wallace,
+<p><b>Copyright:</b> &copy; 2004-2010 Malcolm Wallace,
 except for ParseLib (Copyright &copy; 1995 Graham Hutton and Erik Meijer)
 
 <p><b>License:</b> The library modules in cpphs are distributed under
diff --git a/tests/delete-me b/tests/delete-me
deleted file mode 100644
--- a/tests/delete-me
+++ /dev/null
@@ -1,6 +0,0 @@
-#line 1 "parens"
-
-
-
-
-yes
diff --git a/tests/expect49 b/tests/expect49
new file mode 100644
--- /dev/null
+++ b/tests/expect49
@@ -0,0 +1,5 @@
+#line 1 "undef.hs"
+
+wibble 3
+
+this is FOO
diff --git a/tests/expect50 b/tests/expect50
new file mode 100644
--- /dev/null
+++ b/tests/expect50
@@ -0,0 +1,9 @@
+{-# LINE 1 "linepragma" #-}
+{-# LINE 1 "./inclusion" #-}
+hello world, this is an inclusion
+
+{-# LINE 2 "linepragma" #-}
+{-# LINE 2 "linepragma" #-}
+
+{-# LINE 3 "linepragma" #-}
+
diff --git a/tests/linepragma b/tests/linepragma
new file mode 100644
--- /dev/null
+++ b/tests/linepragma
@@ -0,0 +1,5 @@
+#include "inclusion"
+#line 2 "linepragma"
+
+#line 3 "linepragma"
+
diff --git a/tests/runtests b/tests/runtests
--- a/tests/runtests
+++ b/tests/runtests
@@ -67,4 +67,5 @@
 runtest "$CPPHS --unlit endcode-a" expect47
 runtest "$CPPHS --unlit endcode-b" expect48
 runtest "$CPPHS undef.hs" expect49
+runtest "$CPPHS --linepragma linepragma" expect50
 exit $FAIL
diff --git a/tests/tmp-cpp b/tests/tmp-cpp
deleted file mode 100644
--- a/tests/tmp-cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-# 1 "igloo2"
-# 1 "<built-in>"
-# 1 "<command line>"
-# 1 "igloo2"
-
-
-
-
-
-
-
-bar
-1
-
-
-foo
-
-
-
-
-baz
-1
-
-
-foo
-
-
-
-
-quux
-1 ## 1
-
-
-
-
-bar
-
-
-wibble
-1 ## 1
-
-
-
-
-bar
-
-
-
diff --git a/tests/tmp-cpphs b/tests/tmp-cpphs
deleted file mode 100644
--- a/tests/tmp-cpphs
+++ /dev/null
@@ -1,45 +0,0 @@
-#line 1 "igloo2"
-
-
-
-
-
-
-
-bar
-1
-
-
-foo
-
-
-
-
-baz
-1
-
-
-
-
-bar
-
-
-quux
-1 ## 1
-
-
-
-
-bar
-
-
-wibble
-1 ## 1
-
-
-
-
-bar
-
-
-
diff --git a/tests/wrongline2 b/tests/wrongline2
deleted file mode 100644
--- a/tests/wrongline2
+++ /dev/null
@@ -1,4 +0,0 @@
-#define whereami __LINE__
-whereami 
-#line 20 "foo"
-__LINE__ 
