Skip to content

v9.0.0

Compare
Choose a tag to compare
@thomashoneyman thomashoneyman released this 28 Apr 00:03
· 59 commits to main since this release
b5a017e

Breaking changes:

  • Update project and deps to PureScript v0.15.0 (#160 by @JordanMartinez)

  • Drop deprecated MonadZero instance (#160 by @JordanMartinez)

  • New optimized internals. ParserT now has a more efficient representation,
    resulting in (up to) 20x performance improvement. In addition to the performance,
    all parser execution is always stack-safe, even monadically, obviating the need
    to run parsers with Trampoline as the base Monad or to explicitly use MonadRec.

    Code that was parametric over the underlying Monad no longer needs to propagate a
    Monad constraint.

    Code that constructs parsers via the underlying representation will need to be updated,
    but otherwise the interface is unchanged and parsers should just enjoy the speed boost.

    (#154 by @natefaubion)

  • Make <??> right-associative (#164 by @JordanMartinez)

  • Drop <?> and <~?> prec from 3 to 4 (#163, #164 by @JordanMartinez)

    <|> was made right associative. Decreasing these two operators
    prevents a compiler error (i.e. MixedAssociativityError)
    without causing issues with <$>.

  • Rename module prefix from Text.Parsing.Parser to Parsing (#169 by @jamesdbrock)

  • Replace the regex parser. (#170 by @jamesdbrock)

  • Reorganize Combinators for #154 (#182 by @jamesdbrock)

  • Add the index field to Position. (#171 by @jamesdbrock)

  • Move the parsers

    • whiteSpace
    • skipSpaces
    • oneOf
    • oneOfCodePoints
    • noneOf
    • noneOfCodePoints
      from Parsing.String to Parsing.String.Basic. (#183 by @jamesdbrock)
  • Change MonadState instance (#187 by jamesdbrock)

    Users who stack a ParserT on a StateT base monad will call the MonadState members directly like get instead of needing to do lift <<< get.

    To get the ParserT internal state, call getParserT instead of get.

New features:

Bugfixes:

  • Improve correctness and speed of number and intDecimal. (#189 by @jamesdbrock)

Other improvements: