[Haskell-cafe] [ANN] new version of uu-parsinglib
S. Doaitse Swierstra
doaitse at swierstra.net
Sun Mar 13 08:03:36 CET 2011
Version 2.7.0 was uploaded to hackage.
From the CHANGELOG:
Version 2.7.0
Improvement: change of error correction at end of amb (which deals with ambiguous parsers) combinator; available lookahead is better taken into account
Relatively large change:
• Change to Data.ListLike inputs, so a general stream input structure is possible; hence we can now parse all instances from Data.ListLike
• Simplified and generalised implementation of merging/permuting parsers; any kind of parsers can now be merged/permuted
• New class IsParser was introduced which captures the basic properties of our parsers, thus simplifying the types
• Inclusion of a module Text.ParserCombinators.UU.Utils containing common Char based parsers
• Removal of the class Provides, and replaced by separate pSym, pSatisfy and pRange; this may require some rewriting of existing parsers.
Readability is supposed to improve from that. Types become simpler. For an example see the module Text.ParserCombinators.UU.Utils.
• Included a Demo directory, with one module for demonstrating normal parsers and one aimed at showing merging parsers
• Added the module Text.ParserCombinaors.UU.Idioms, which contains specialised version for the idiomatic notation;
it infers the sequental composition operators from the types of the operands;
String-s and Char-s are not supposed to contribute to the result (hence <*), function parameters are lifted using `pure`, and normal parsers are composed with `<*>`.
• Many other small changes, mostly upwards compatible or invisible (code cleanup)
For some examples see: http://hackage.haskell.org/packages/archive/uu-parsinglib/2.7.0/doc/html/Text-ParserCombinators-UU-Demo-Examples.html
and: http://hackage.haskell.org/packages/archive/uu-parsinglib/2.7.0/doc/html/Text-ParserCombinators-UU-Demo-MergeAndPermute.html
and: http://hackage.haskell.org/packages/archive/uu-parsinglib/2.7.0/doc/html/Text-ParserCombinators-UU-Idioms.html
More information about the Haskell-Cafe
mailing list