Initial PRs for Magic v2 and Attributes v2
[email protected] ("Paul \"LeoNerd\" Evans")
| Newsgroups | perl.perl5.porters |
|---|---|
| Message-ID | <[email protected]> |
I have two big PRs currently outstanding, awaiting some comments and approvals before I press the big green button. They each do different things, but they're both in a similar category, in that they are both the initial "phase 1" part of what I'm aiming to be some larger changes eventually. I'm not sure that either of these projects will achieve a state of actually getting new things in time for 5.44's release, but both of these PRs are internal shuffles and changes to get to the point of having a better base to build those new things up from, so I'd like to get those initial "phase 1" changes in by then. Magic v2 = https://github.com/Perl/perl5/pull/24163 Attributes v2 = https://github.com/Perl/perl5/pull/24171 I mention both PRs at the same time because each is aiming towards providing features that go along with the other. "Magic v2" is all about being able to have more kinds of magic trigger functions that happen at different times on the lifetime of the thing they are attached to, and also being able to attach magic to more kinds of thing anyway. "Attributes v2" is about being able to have modules provide new attributes in a better, more independent, and lexically scoped way that interrupts the parser a lot earlier. The main way to get a new attribute to provide interesting behaviour would be to use magic for it; and the main way modules would make use of these new magic abilities would be to attach them via attributes. It makes most sense to consider each in combination with the other. As I said, I would like to be able to merge both of these in time for 5.44's release; which basically means getting them in definitely in time for March's "user-visible changes freeze" and ideally one point release before that, being this Feb 20th "contentious changes freeze". I believe this should be relative safe, because neither PR should introduce any user-visible changes, besides perhaps differently worded error messages in the case of invalid code or behaviours. For correct programs, all should remain exactly as it was. It would be great therefore if we could get a few more sets of eyes to look at these two and provide any feedback. As ever, a reminder that you don't *have* to go digging in the weeds of the code if you don't want to - there's still documentation and test additions as well (especially so in the Magic one) for the overall idea and direction. In particular with Magic v2 I still have a couple of questions about the interface design, and how to write the documentation for it, that could do with input from folks. One particular area that I know would be useful would be anyone who has ideas on more things to test; adding more tests is always good. So often lately I have a history of creating new things whose first few releases have some big bug or other because it didn't occur to me to test some particular combination of things that someone else tried out. This is one big area where having more eyes looking at it and more brains thinking of ways to torture it can be very handy indeed. -- Paul "LeoNerd" Evans [email protected] http://www.leonerd.org.uk/ | https://metacpan.org/author/PEVANS