Adventures in parser combinators.
This is basically a Trifecta clone, i.e. an implementation of the parsers interface, with the following differences:
- Add error recovery (see
withRecovery
) based on Megaparsec's. - Use the
text
library instead ofbytestring
for input strings. This means that the library interfaces better with the rest of the Haskell library ecosystem and that slicing (seesliced
) returnsText
. - Use the prettyprinter library for pretty-printing.
- Actually implement the highlighting interface from
parsers
. This means that error messages that show input code are syntax highlighted.