v9.0.0
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 withTrampoline
as the base Monad or to explicitly useMonadRec
.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
toParsing
(#169 by @jamesdbrock) -
Replace the
regex
parser. (#170 by @jamesdbrock) -
Reorganize Combinators for #154 (#182 by @jamesdbrock)
-
Add the
index
field toPosition
. (#171 by @jamesdbrock) -
Move the parsers
whiteSpace
skipSpaces
oneOf
oneOfCodePoints
noneOf
noneOfCodePoints
fromParsing.String
toParsing.String.Basic
. (#183 by @jamesdbrock)
-
Change MonadState instance (#187 by jamesdbrock)
Users who stack a
ParserT
on aStateT
base monad will call theMonadState
members directly likeget
instead of needing to dolift <<< get
.To get the
ParserT
internal state, callgetParserT
instead ofget
.
New features:
- Add the
anyTill
primitiveString
combinator. (#186 by @jamesdbrock) - Add the
Parsing.String.Replace
module, copied from
https://github.com/jamesdbrock/purescript-parsing-replace (#188 by @jamesdbrock)
Bugfixes:
- Improve correctness and speed of
number
andintDecimal
. (#189 by @jamesdbrock)
Other improvements:
- Drop
math
dependency; update imports (#167 by @JordanMartinez)