What is the prefered way to raise errors (ParseError
) in Parsec? I got some code inside a parser that performs a check and if the check fails a ParseError
should be returned (i.e. Left ParseError
when running parse
).
You can use Text.ParserCombinators.Parsec.Prim.unexpected
and Control.Monad.fail
for this. Both take a String
argument signifying the error message and will return (in this case) a value of type GenParser tok st a
.
For more, see Text.ParserCombinators.Parsec.Error
, specifically Message
. There you can read which function to use in which case (though both signify a parse error, they are semantically slightly different).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With