attoparsec-parsec

An Attoparsec compatibility layer for Parsec

Latest on Hackage:0.1.3

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

MIT licensed and maintained by Simon Hengel

This package provides an implementation of Data.Attoparsec.Text in terms of Parsec. It can be used to write parsers that can be compiled against both Attoparsec and Parsec.

Attoparsec is an awesome and very fast library, but it still has a weak point: It does not generate very useful error messages on parse errors. Compiling an Attoparsec parser against Parsec can be useful for at least two scenarios.

  • Parsec can be used while developing Attoparsec parsers, so that you get better error messages on failing test cases.

  • You can use Attoparsec for parsing, so that you benefit from it's speed. And on parse errors you can re-parse the input with Parsec, so that you can display a useful error message to the user.

A simple usage example is here: https://github.com/sol/attoparsec-parsec#readme