@@ -9,8 +9,8 @@ readerBench :: Pandoc
9 -> Benchmark
9 -> Benchmark
10readerBench doc (name, reader) =
10readerBench doc (name, reader) =
11 let writer = case lookup name writers of
11 let writer = case lookup name writers of
12− Just w -> w
12+ Just (PureStringWriter w) -> w
13− Nothing -> error $ "Could not find writer for " ++ name
13+ _ -> error $ "Could not find writer for " ++ name
14 inp = writer defaultWriterOptions{ writerWrapText = True
14 inp = writer defaultWriterOptions{ writerWrapText = True
15 , writerLiterateHaskell =
15 , writerLiterateHaskell =
16 "+lhs" `isSuffixOf` name } doc
16 "+lhs" `isSuffixOf` name } doc
@@ -41,5 +41,6 @@ main = do
41 let ps = defaultParserState{ stateSmart = True }
41 let ps = defaultParserState{ stateSmart = True }
42 let doc = readMarkdown ps inp
42 let doc = readMarkdown ps inp
43 let readerBs = map (readerBench doc) readers
43 let readerBs = map (readerBench doc) readers
44+ let writers' = [(n,w) | (n, PureStringWriter w) <- writers]
44− defaultMain $ map (writerBench doc) writers ++ readerBs ++ normalizeBench doc
45+ defaultMain $ map (writerBench doc) writers' ++ readerBs ++ normalizeBench doc