parsec (hackage): Parsec is designed from scratch as an industrial-strength parser library.  It is simple, safe, well documented (on the package homepage), has extensive libraries, good error messages, and is fast.  It is defined as a monad transformer that can be stacked on arbitrary monads, and it is also parametric in the input stream type.  The main entry point is the Text.Parsec module which provides defaults for parsing Character data.  The Text.ParserCombinators.Parsec module hierarchy contains the legacy parsec-2 API and may be removed at some point in the future.
Keywords: bsd2|library|parsing