Closed j-mie6 closed 11 months ago
The range_
combinator can be removed when dead-result analysis is added in: it's useless in that context, just API bloat.
Code Climate has analyzed commit b4e252e4 and detected 16 issues on this pull request.
Here's the issue category breakdown:
Category | Count |
---|---|
Complexity | 3 |
Duplication | 12 |
Style | 1 |
The test coverage on the diff in this pull request is 94.8% (50% is the threshold).
This pull request will bring the total coverage in the repository to 92.4% (0.5% change).
View more on Code Climate.
Parsley
4.4.0
Staging PRThis is the PR encompassing all changes for version
4.4.0
. As this is substantial new functionality, it will be previewed incrementally starting with4.4.0-M1
. When the API is completed and seems reasonable,4.4.0-RC1
will be released to allow for testing of the release, full documentation, and ironing out of bugs. When the release is stable enough, it will be merged intomaster
and4.4.0
will be officially released.High-Level Changes
This release aims to add in all the minor functionality ahead of the Parsley 5 milestone start and the final deprecation run in September.
Low-Level Changes
Minor Changes
satisfyAs
/satisfyMap
/mapSatisfy
combinator (closes #186)debug
(closes #182)profile
combinator for light-weight analysis of what parsers take up the most time.partialAmend
andpartialAmendThenDislodge
(closes #152)range
combinators (closes #183)stringOfMany
andstringOfSome
to take character predicates (closes #185)preventative
combinators as per thesisfilterWith
,verifiedErrorWith
andpreventWith
builder combinators? (requires generalised machinery to be exposed asErrGen
)empty
combinator, but need to find a way to integrate it without clashing with the default inParsley
atomic
alias forattempt
(no deprecation until 4.5)TillNextWhitespace
and helpers for specifying what whitespace is.span
combinatorPatch Changes
unsafe()
in various places that now need itInternal Changes
filter
-like,verified
-like, andprevent
-like uniformlyChar
andString
do not push results to the stack, the combinators are implemented with anas
. AST nodes returnNothing
to reflect this, and assumptions have been added.Release Checklist
4.4.0-M1
partialAmend
andpartialAmendThenDislodge
label
overloading that allows for multi-label support (no empty labels, since this is banned in Parsley 5)dislodge(n)
combinator (and correspondingamendAndDislodge
etc)4.4.0-M2
unicode
stringOfMany
/stringOfSome
overloads for predicatessatisfyMap
combinator4.4.0-M3
atomic
combinatorcount
,count1
combinatorsrange
,range_
and rangecount
combinatorsTillNextWhitespace
configurationempty(n)
combinator exposedguard
combinator exposed4.4.0-M4
4.4.0-M5
4.4.0-M6
preventativeFail
andpreventativeExplain
combinators.span
combinator4.4.0-M7
ErrorGen
functionality to allow for custom description of various combinators (may have to review things for 5.0.0)profile
combinator added todebug.DebugMethods
4.4.0-M8
x: A
parameter toadjustWidth
method ofErrorGen
, allowing for a tiny bit finer control.withWidth
combinator4.4.0-RC1
unsafe()
calledimpure
.4.4.0
unsafe()
, since it is now necessary if doing dodgy things with mutationREADME.md
updated to reflect new versionbuild.sbt
updated to disable snapshots on this branchprivate [parsley]
members orparsley.internal
.githubWorkflowConcurrency
Milestone Migration Guide
As each milestone release may choose to make binary incompatible changes, any necessary migration required to get from one milestone to the next will be tracked here.
4.3.0
4.4.0-M1
4.4.0-M1
4.4.0-M2
4.4.0-M2
4.4.0-M3
4.4.0-M3
4.4.0-M4
4.4.0-M4
4.4.0-M5
4.4.0-M5
4.4.0-M6
unsafe()
combinator when doing any mutable parsing4.4.0-M6
4.4.0-M7
label
introduced in M1 is removed4.4.0-M7
4.4.0-M8
x: A
parameter to theErrorGen[A]
adjustWidth
method4.4.0-M8
4.4.0-RC1
UnexpectedItem
intoVanillaGen
, each havingItem
at the end now.