Repository navigation
Parsley 5.0 - #223
Draft
j-mie6 wants to merge 694 commits into
Draft
Parsley 5.0#223j-mie6 wants to merge 694 commits into
j-mie6 wants to merge 694 commits into
Conversation
This was
linked to
issues
Jan 10, 2024
This was
linked to
issues
Jan 30, 2024
This was
linked to
issues
Jan 4, 2025
…in enum; removed validation for now
…nd enum object cases
…lass bridges, removed lift0
… ParsableMetadata
…BridgeN -> PureParserBridgeN
… type param lengths
When an enum is of the form:
```scala
enum Co[+A] {
case X
}
```
An attempt to bridge `Co.X` would fail as the number of type parameters
of `Co.X.type` (which isn't really real) does not match `Co` itself. By
lifting the equal length arguments check, this case is admitted, but may
let higher-kinded types (for which the restriction was put in place to
prevent) slip through the net.
Handle more kinds of non-consuming combinators when looking for leading chars (e.g. `line.zip(col)`), and also look into Lets to make larger jump tables
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Parsley
5.0.0Staging PRThis is the PR encompassing all changes for version
5.0.0. As this is substantial new functionality, it will be previewed incrementally starting with5.0.0-M1. When the API is completed and seems reasonable,5.0.0-RC1will 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 intomasterand5.0.0will be officially released.High-Level Changes
This release aims to consolidate the library ready for long-term stability. This will include adjusting the API to allow for more forwards-compatible evolution.
Low-Level Changes
Major Changes
None.
Minor Changes
None.
Patch Changes
None.
Internal Changes
None.
Release Checklist
5.0.0-M14.5.05.0.0-M25.0.0-M3labelSymbolPunctuationdoes nothing #227labelSymbolto replace the sub-configurations (which are deprecated for future removal, but still hooked in for back-compat for next few weeks)5.0.0-M4mapFilterMsgcombinator toparsley.errors.combinator5.0.0-M5Reasons used forlabelConfigresult in no error labels5.0.0-M6SpecializedFilteratomicChoiceFailureas a simple case classErrorBuilder.formattobuildErrorBuilder.lineInfo5.0.0-M7- Anton's Milestoneparsley-debugparsley-debug.parsley.tokenpackages some more.parsley.syntax.allandparsley.quickstartobjects to cut down on imports.5.0.0-M8- native 0.55.0.0-M9parsley.debugmade into a packageparsley-debug'sdebuggable->debugdebug.frontend.DebugFrontend->debug.DebugView, withReusableFrontend->DebugView.Reusableand similar forSingleUse.attachDebuggercombinators, I think we'll go ahead with view-only debugging for now.PartialFunction[Any, Boolean]for ergonomics.debug.util.Collector, it's a shame we'll never be able to remove it completely because ofparsley.debuggable's view on it.5.0.0-M10parsley.debuggablefixed for 3.5+5.0.0-M11manyTillwithinparsley.quick.*which is currently broken.5.0.0-M12hide's use of observable input5.0.0-M13DebugViews (Interactivity with parsley-debug-app #259)5.0.0-M145.0.0-M15ReftoRefCodecimplicitly for debugging@parsley.debuggableto see through type aliases5.0.0-M16precedenceinternal rework to improve performance5.0.0-M175.0.0-RC15.0.0README.mdupdated to reflect new versionprivate [parsley]members orparsley.internal.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.5.05.0.0-M15.0.0-M15.0.0-M25.0.0-M25.0.0-M3ErrorConfigfor symbols are deprecated, uselabelSymbolinstead5.0.0-M35.0.0-M45.0.0-M45.0.0-M55.0.0-M55.0.0-M6build, notformatforErrorBuilder.ErrorBuilder.lineInfonow has alineNumargument.SpecialisedFilterand its children are now spelt with az. TheatomicChoicecombinator has been removed, reconsider your life choices if you're using it.5.0.0-M65.0.0-M7token.predicatepackage has been removed,token.descriptionsis now a flat package too.5.0.0-M75.0.0-M85.0.0-M85.0.0-M9parsley.debugis now a package,parsley-debug'sdebuggerpackage has been merged into that. Various name changes withinparsley-debug, which should hopefully make it a bit clearer how it should be used.5.0.0-M95.0.0-M105.0.0-M105.0.0-M115.0.0-M115.0.0-M125.0.0-M125.0.0-M135.0.0-M135.0.0-M145.0.0-M145.0.0-M155.0.0-M155.0.0-M165.0.0-M165.0.0-M17parsley.generic.ErrorBridgeis gone.parsley.bridges.ErrorBridgefor the new one. TODO