on master help sign in
Cosmetic: make markdown parser a bit nicer to read and switch out (++"") for id to avoid an extra copy
commit32fb518bb73fd709b0d929005b3fa3bb30bc698f authorEvan Czaplicki <info@elm-lang.org> dateMon 31 Mar 2014, 22:49 (13 years ago) parent861a91d
1 file changed+8−5
compiler/Parse/Helpers.hs+8−5
compiler/Parse/Helpers.hs+8−5
@@ -311,14 +311,17 @@ anyUntilPos pos = go
311311 False -> (:) <$> anyChar <*> go
312312
313313markdown :: ([a] -> IParser (String, [a])) -> IParser (String, [a])
314−markdown interpolation = try (string "[markdown|") >> closeMarkdown (++ "") []
314+markdown interpolation =
315+ do try (string "[markdown|")
316+ closeMarkdown id []
315317 where
316− closeMarkdown md stuff =
318+ closeMarkdown markdownBuilder stuff =
317319 choice [ do try (string "|]")
318− return (md "", stuff)
319− , (\(m,s) -> closeMarkdown (md . (m ++)) s) =<< interpolation stuff
320+ return (markdownBuilder "", stuff)
321+ , do (markdown,stuff') <- interpolation stuff
322+ closeMarkdown (markdownBuilder . (markdown++)) stuff'
320323 , do c <- anyChar
321− closeMarkdown (md . ([c]++)) stuff
324+ closeMarkdown (markdownBuilder . (c:)) stuff
322325 ]
323326
324327glShader :: IParser (String, Literal.GLShaderTipe)