Adds and Eq instance for Parsec's ParseError if needed.
A library to help with compatibility against Parsec versions. Adds an instance of Eq
to the ParseError
data type, if it's missing from the version of Parsec that you're compiling against.
To test Parsec's parsing, it's very useful to have an Eq instance for ParseError. This is included in Parsec versions >= 3.1.9, but you need to define it yourself in previous versions.
This simple library conditionally adds an Eq instance for ParseError only if the Parsec version being used is < 3.1.9. To use it, just add parseerror-eq to your cabal dependencies, and in the module where you want to compare ParseErrors,
import Text.ParseErrorEq ()
The ParseError Eq instance will be imported if it is necessary, otherwise the ParseErrorEq module is empty, so nothing will happen. This ensures that your code that needs the ParseError Eq instance will work regardless of the Parsec version that it is compiled against.