Skip to content

Parsley 2.0.0

Compare
Choose a tag to compare
@j-mie6 j-mie6 released this 09 Jan 19:16
· 303 commits to master since this release
824f173

NOTE: This release has backwards incompatible changes for some parsers which were previously compatible with the 1.x series. This includes parsers which make use of registers/state, as well as any lingering uses of deprecated functionality from v1.5.1+

What's Changed

The following PRs form part of this release: #28 #27 #32. Issue #26 is partially supported by this release (remaining work is found in #33).

The major changes in this release boil down to:

  • adding types to registers, so they are no longer untyped
  • removing rollback behaviour of registers, they can be rolled back with rollback explicitly
  • remove ability to manually create registers at given addresses (the allocation is done by the runtime)

What's New

For this release, there are a couple of new combinators, namely:

  • collect - similar to those found in List etc in the Scala standard library
  • cast - used to change the type of a parser's result in a safe checked way which does not throw exceptions
  • rollback - recovers the original semantics of registers from the 1.x series