Open
Conversation
91376f6 to
84aa28f
Compare
Contributor
Author
|
After 5 attempts I've now made the Windows build happy as well, so this is ready for review. |
84aa28f to
605f529
Compare
605f529 to
0260dd1
Compare
0260dd1 to
794c3cf
Compare
794c3cf to
341c755
Compare
Contributor
|
Much like Magic V2, I think we should postpone this until the next release cycle. |
Contributor
Author
|
@Leont there's a GH label for that ;) |
…nto new attributes.c
…eneric system handles it
341c755 to
43830e4
Compare
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.
I had been hoping to get somewhat further along with this by now, but a combination of reasons has slowed this, and the related
magic-v2, so this is as far as I've got so far. I'd like to get some amount of review and consideration for merge in time for 5.44 though, as it would still be a much better place to start from.The overall aim of PPC0029 is to allow user code (i.e. loaded modules) to define new attributes in a far more flexible way; using lexical names and interrupting the parser early in the compilation process. This PR doesn't yet achieve that, but it does reshape a lot of the internals related to attribute handling such that a later phase 2 can add that with relative ease into the foundations laid here.
Specifically, this first phase shouldn't actually introduce any user-visible changes or new behaviours, other than a slight rewording of the error messages that erroneous code would produce. The point here is simply to get all of the internals in one place, so that there is exactly one line of code (currently marked with a big "TODO" comment) in which the new lexical behaviours can be added. I intend to do that in a later PR, which itself may or maynot arrive in time for 5.44.