git.iko.soy/typeable/pandoc
on master help sign in
Fixed Benchmark to compile with latest changes.
800e772John MacFarlane
Benchmark.hs+5−7
@@ -6,7 +6,7 @@ import Text.JSON.Generic
6import Data.Default
6import Data.Default
7
7
8readerBench :: Pandoc
8readerBench :: Pandoc
9− -> (String, ParserState -> String -> Pandoc)
9+ -> (String, ReaderOptions -> String -> Pandoc)
10 -> Benchmark
10 -> Benchmark
11readerBench doc (name, reader) =
11readerBench doc (name, reader) =
12 let writer = case lookup name writers of
12 let writer = case lookup name writers of
@@ -19,10 +19,8 @@ readerBench doc (name, reader) =
19 getLength (Pandoc (Meta a b c) d) =
19 getLength (Pandoc (Meta a b c) d) =
20 length a + length b + length c + length d
20 length a + length b + length c + length d
21 in bench (name ++ " reader") $ whnf (getLength .
21 in bench (name ++ " reader") $ whnf (getLength .
22− reader def{ stateOptions = def{
23− readerSmart = True
22+ reader def{ readerSmart = True
24− , readerLiterateHaskell = "+lhs" `isSuffixOf` name
23+ , readerLiterateHaskell = "+lhs" `isSuffixOf` name
25− }
26 }) inp
24 }) inp
27
25
28writerBench :: Pandoc
26writerBench :: Pandoc
@@ -40,8 +38,8 @@ normalizeBench doc = [ bench "normalize - with" $ nf (encodeJSON . normalize) do
40
38
41main = do
39main = do
42 inp <- readDataFile (Just ".") "README"
40 inp <- readDataFile (Just ".") "README"
43− let ps = defaultParserState{ stateOptions = def{ readerSmart = True }}
41+ let opts = def{ readerSmart = True }
44− let doc = readMarkdown ps inp
42+ let doc = readMarkdown opts inp
45 let readerBs = map (readerBench doc) readers
43 let readerBs = map (readerBench doc) readers
46 let writers' = [(n,w) | (n, PureStringWriter w) <- writers]
44 let writers' = [(n,w) | (n, PureStringWriter w) <- writers]
47 defaultMain $ map (writerBench doc) writers' ++ readerBs ++ normalizeBench doc
45 defaultMain $ map (writerBench doc) writers' ++ readerBs ++ normalizeBench doc