Chaining of prefix and postfix operators#242
Merged
jamesdbrock merged 3 commits intopurescript-contrib:mainfrom Jan 17, 2026
Merged
Chaining of prefix and postfix operators#242jamesdbrock merged 3 commits intopurescript-contrib:mainfrom
jamesdbrock merged 3 commits intopurescript-contrib:mainfrom
Conversation
Member
|
Hi @jacobpake , thanks for the PR. Looks good and the tests pass. Is this ready for review? I haven't used the (Dennis, if you need a Purescript dev environment for running ) |
Member
|
I'm not using this anymore and don't have a strong opinion here. I'm happy to go with whatever you guys think is best. |
Contributor
Author
|
Thanks @jamesdbrock, I have added this as a breaking change and opened for review. |
Member
|
Merged and published in v11.0.0, thank you @jacobpake (Sorry about the delay in merging.) |
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.
Parsers created with
buildExprParserwill try to chain prefix and postfix operators.Previously, it was not possible to chain prefix operators, e.g.
not not True, though this is the behaviour of infix operators.Consumers of this library may rely on the old behaviour.
Currently, this PR is a breaking change.
It should be considered if chaining/non-chaining is configurable on a per-operator basis (similar to how associativity is configurable for infix operators).
Another option is to add new constructor(s) to
Operator, e.g.PrefixChained,PostfixChainedto avoid the breaking change.Resolves #241
Checklist: