@@ -28,8 +28,6 @@ import qualified Data.Map as M
2828
2929import Control.Monad (when )
3030
31- -- import Debug.Trace
32-
3331
3432-- Doc top-level
3533grDoc :: (? globals :: Globals ) => String -> AST () () -> IO ()
@@ -52,7 +50,7 @@ grDoc input ast = do
5250
5351 writeFile (" docs/modules/" <> modName <> " .html" ) (unpack moduleFile)
5452 -- Generate the Primitives file
55- when info $ putStrLn $ " Generating docs index file."
53+ when info $ putStrLn " Generating docs index file."
5654 primFile <- generatePrimitivesPage
5755 writeFile " docs/modules/Primitives.html" (unpack primFile)
5856 -- Generate the index file
@@ -78,12 +76,12 @@ generateModulePage' modName title input ast =
7876 where
7977 inputLines = lines input
8078 content = (if Text. strip preamble == " " then " " else section " Meta-data" preamble)
81- <> ( section " Contents" (( internalNav headings')
79+ <> section " Contents" (internalNav headings'
8280 <> (if modName == " Primitives" then anchor " Built-in Types" else " " )
83- <> Text. concat contentDefs))
81+ <> Text. concat contentDefs)
8482 preamble = parsePreamble inputLines
85- <> if M. keys (hiddenNames ast) == [] then " "
86- else ( tag " strong" " Module does not export: " ) <> Text. intercalate " , " (map (pack . prettyDoc) $ M. keys (hiddenNames ast))
83+ <> if Prelude. null ( M. keys (hiddenNames ast)) then " "
84+ else tag " strong" " Module does not export: " <> Text. intercalate " , " (map (pack . prettyDoc) $ M. keys (hiddenNames ast))
8785 (headings, contentDefs) = unzip (map prettyDef topLevelDefs)
8886 headings' =
8987 if modName == " Primitives"
@@ -92,35 +90,35 @@ generateModulePage' modName title input ast =
9290
9391
9492 -- Combine the data type and function definitions together
95- topLevelDefs = sortOn startLine $ ( map Left (dataTypes ast)) <> ( map Right (definitions ast) )
93+ topLevelDefs = sortOn startLine $ map Left (dataTypes ast) <> map Right (definitions ast)
9694 startLine = fst . startPos . defSpan'
9795 defSpan' (Left dataDecl) = dataDeclSpan dataDecl
9896 defSpan' (Right def) = defSpan def
9997
10098 prettyDef (Left d) =
10199 let (docs, heading) = scrapeDoc inputLines (dataDeclSpan d)
102100 in (heading,
103- ( maybe " " anchor heading)
101+ maybe " " anchor heading
104102 <> (codeDiv . pack . prettyDoc $ d)
105103 <> (if strip docs == " " then miniBreak else descDiv docs))
106104 prettyDef (Right d) =
107105 let (docs, heading) = scrapeDoc inputLines (defSpan d)
108106 in (heading
109- , ( maybe " " anchor heading)
110- <> ( codeDiv $ breakLine (internalName (defId d)) $ pack $ prettyDoc (defId d) <> " : " <> prettyDoc (defTypeScheme d))
107+ , maybe " " anchor heading
108+ <> codeDiv ( breakLine (internalName (defId d)) $ pack $ prettyDoc (defId d) <> " : " <> prettyDoc (defTypeScheme d))
111109 <> (if strip docs == " " then miniBreak else descDiv docs))
112110
113111 breakLine id xs =
114112 if Text. length xs >= 65 && (Text. isInfixOf " forall" xs || Text. isInfixOf " exists" xs) then
115113 case Text. break (== ' .' ) xs of
116114 (before, after) ->
117- before <> " \n " <> ( Data.Text. replicate (length id + 1 ) " " ) <> after
115+ before <> " \n " <> Data.Text. replicate (length id + 1 ) " " <> after
118116 else xs
119117
120118 anchor :: Text -> Text
121119 anchor x = tagWithAttributes " a"
122120 (" name = " <> toUrlName x)
123- (tag " h3" (( tagWithAttributes " a" ( " href='#' class='toplink'" ) " [top]" ) <> x))
121+ (tag " h3" (tagWithAttributes " a" " href='#' class='toplink'" " [top]" <> x))
124122
125123
126124 internalNav [] = " "
@@ -142,7 +140,7 @@ generateIndexPage = do
142140-- Generates the text of the primitives module
143141generatePrimitivesPage :: (? globals :: Globals ) => IO Text
144142generatePrimitivesPage = do
145- generateModulePage' " Primitives" " Built-in primitives" ( Primitives. builtinSrc) (appendPrimitiveTys $ fst . fromRight $ parseDefs " Primitives" Primitives. builtinSrc)
143+ generateModulePage' " Primitives" " Built-in primitives" Primitives. builtinSrc (appendPrimitiveTys $ fst . fromRight $ parseDefs " Primitives" Primitives. builtinSrc)
146144 where
147145 fromRight (Right x) = x
148146 fromRight (Left x) = error x
@@ -174,7 +172,7 @@ generatePrimitivesPage = do
174172 matches tyConName (id', (ty, _, _)) =
175173 case (tyConName, resultType ty) of
176174 (internalName -> " Type" , Type 0 ) -> True
177- (a, b) -> ( TyCon a) == b
175+ (a, b) -> TyCon a == b
178176
179177generateFromTemplate :: PageContext -> Text -> Text -> Text -> IO Text
180178generateFromTemplate ctxt modName title content = do
@@ -197,7 +195,7 @@ generateNavigatorText ctxt = do
197195 files <- return $ sort (filter (\ file -> takeExtension file == " .html" && takeBaseName file /= " Primitives" ) files)
198196 -- Build a list of these links
199197 let prefix = if ctxt == ModulePage then " " else " modules/"
200- let toLi file = li $ link (pack $ takeBaseName file) (prefix <> ( pack $ takeBaseName file) <> " .html" )
198+ let toLi file = li $ link (pack $ takeBaseName file) (prefix <> pack ( takeBaseName file) <> " .html" )
201199 -- Link to index page
202200 let indexPrefix = if ctxt == ModulePage then " ../" else " "
203201 let topLevelLink = link " <i>Top-level</i><br />" (indexPrefix <> " index.html" )
@@ -251,7 +249,7 @@ parsePreamble inputLines =
251249 presentPrequelLine line =
252250 if name == " Module" -- drop duplicate module info
253251 then " "
254- else li $ ( tag " b" (pack name) ) <> pack info
252+ else li $ tag " b" (pack name) <> pack info
255253 where
256254 (name, info) = break (== ' :' ) (drop 4 line)
257255 prequelLines =
@@ -265,20 +263,20 @@ parsePreamble inputLines =
265263-- HTML generation helpers
266264
267265toUrlName :: Text -> Text
268- toUrlName = ( replace " " " -" ) . ( Text. filter isAlpha) . Text. toLower
266+ toUrlName = replace " " " -" . Text. filter isAlpha . Text. toLower
269267
270268section :: Text -> Text -> Text
271269section " " contents = tag " section" contents
272270section name contents = tag " section" (tag " h2" name <> contents)
273271
274272codeDiv :: Text -> Text
275- codeDiv = tagWithAttributes " div" ( " class='code'" ) . tag " pre"
273+ codeDiv = tagWithAttributes " div" " class='code'" . tag " pre"
276274
277275descDiv :: Text -> Text
278- descDiv = tagWithAttributes " div" ( " class='desc'" )
276+ descDiv = tagWithAttributes " div" " class='desc'"
279277
280278navDiv :: Text -> Text
281- navDiv = tagWithAttributes " div" ( " class='mininav'" )
279+ navDiv = tagWithAttributes " div" " class='mininav'"
282280
283281span :: Text -> Text -> Text
284282span name = tagWithAttributes " span" (" class='" <> name <> " '" )
0 commit comments