-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Parsley 4.4.0 #207
Parsley 4.4.0 #207
Conversation
… specialised, checked over, and docs adjusted
…d, with `Item` postfix on all names
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The PR diff size of 5431 lines exceeds the maximum allowed for the inline comments feature.
Code Climate has analyzed commit b4e252e and detected 16 issues on this pull request. Here's the issue category breakdown:
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The PR diff size of 5428 lines exceeds the maximum allowed for the inline comments feature.
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 Satisfy that maps #186)debug
(closes Debug registers #182)profile
combinator for light-weight analysis of what parsers take up the most time.partialAmend
andpartialAmendThenDislodge
(closes Partial amendment #152)range
combinators (closes Combinator for reading between two amounts #183)character
Combinators #130)stringOfMany
andstringOfSome
to take character predicates (closes Megaparsec styletakeWhileP
#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
.label
? #193)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.