Fix optional combinator in SimpleParser
commit7196cad63d9cb28224e1ff7259a2732b7e0dbf09
authorMelvar Chen <Melvar.Chen@googlemail.com>
dateMon 2 Sep 2013, 20:18 (13 years ago)
parent87265a9
contribs/lib/SimpleParser/SimpleParser.idr+2−2
@@ -154,8 +154,8 @@ strToken = map pack (token (many1 alphanum))
154154-- combinators
155155--------------------------------------------------------------------------------
156156
157−optional : Parser a -> Parser ()
158−optional p = (p $> pure ()) <|> pure ()
157+optional : Parser a -> Parser (Maybe a)
158+optional p = map Just p <|> pure Nothing
159159
160160sepBy1 : Parser a -> Parser b -> Parser (List a)
161161sepBy1 p s = [| p :: many (s $> p) |]