polyparse change log
Changes in polyparse-1.4.1
- Bugfix for 'discard', so that in the lazy variation it actually checks
that the item to be discarded satisfies the given parser.
- Bugfixes in Text.Parse, such that 'optionalParens' is used more
consistently.
Changes in polyparse-1.4
- New API: the primitive parser 'eof' is now available in all variations of
the Poly combinators.
- New implementation of Text.Parse.word - it no longer uses the
Haskell'98 Prelude.lex, but provides its own proper lexer, with better
error messages.
- New module: Text.ParserCombinators.Poly.ByteString is an instance of
the PolyParse class specialised to ByteString input, rather than being
polymorphic over the input token type.
- New module: Text.Parse.ByteString, is like Text.Parse but with
ByteString input rather than String.
- New API calls: Text.Parse.readByParse and readsPrecByParsePrec,
to make it easy to create instances of the old Read class (for
backwards compatibility) from your TextParser.
- Bugfix: in Text.Parse, parseInt, parseDec, parseOct, and parseHex had an
extra spurious argument that was unused, so it has been removed (API
change). In addition parseLitChar relied on the non-existent use of
that argument, so it has been fixed too.
- Bugfix: Text.Parse.parseFloat now accepts a plain integer as a float,
to match the H'98 behaviour of readFloat.
- Bugfix: the `discard` combinator now forces the discarded item;
previously incorrect parses could hide inside, without triggering an error.
Changes in polyparse-1.3
- Bugfix: Text.Parse.parseFloat now accepts ordinary floating point
notation, in addition to scientific (exponent) notation.
Changes in polyparse-1.2
- Improves the Text.Parse implementation significantly. Where
previously all the parsers for builtin basic datatype (Int,Float,Char)
were just thin wrappers over the H'98 Read instances, now they are all
proper parsers, therefore they should (a) be faster; (b) give better
error messages.
- Reduced the number of implementation variations to choose from.
In particular, NoLeak has become the default implementation, and
the previous default has been dropped (because it space-leaks).
Changes in polyparse-1.1
- Much improved the laziness of the PolyLazy combinators.
- Addition of a class-based interface to the Poly libraries, to
reduce code duplication amongst the variations, and to allow for
more experimentation with different implementations.
- Several new experimental implementations of the interface.
Changes in polyparse-1.0
- Version number change from 1.00 to 1.0, for silly cabal/hackage.
- Minor fix to parsing strings in Text.Parse.
Changes in polyparse-1.00
- No changes, but released separately from HaXml
Changes in HaXml-1.16
- New: lazier parsers
- Text.XML.HaXml.ParseLazy
- Text.XML.HaXml.Html.ParseLazy
- Text.ParserCombinators.PolyLazy
- Text.ParserCombinators.PolyStateLazy
Changes in HaXml-1.15
- New: DrIFT has now been fully updated to
produce instances of Text.ParserCombinators.TextParser.Parse.
- New: the parser combinator library Poly has been split into two
variations, Poly and PolyState. They have almost the same API,
only the latter includes a running state where the former does not.
- The TextParser library (a replacement for the Haskell'98 Read class)
has also been improved with more new combinators. Really, these
parser combinator experiments do not belong in HaXml, and will
eventually be split out into a separate package.