TL;DR - please help review this large work ahead of PR-time, to avoid surprises later on and make the process run smoother (or explicitly opt-out) Hi all, Aside from needing some more waffly-english-wording in the documentation, the Stage 1 work for feature-class is basically done. We now have a branch with a simple implementation of standalone classes and lexical-like fields. Still missing and yet to be done are Stage 2 - :isa attribute and subclassing Stage 3 - :does attribute and roles Stage 4 - :reader, :writer etc.. conveniences on fields Stage 5 - field initialisation blocks Stage 6 - metaprogramming / introspection API ... These remaining stages aren't really in a dependency order - while it would be good to get subclassing before roles, the rest of the thoughts are fairly independent. I would like to get at least one or two more of them done before we think about presenting this in a "formal" PR for actual review with a view to merging into blead. I'm hoping that by Christmas (of 2022 ;) ) there will be something noteworthy here, so that we can enter 2023 with the beginnings of this real object system in blead, giving us enough time to shake out many of the initial bugs and issues so it can make its first public outing in 5.38 in May 2023. Since this set of changes is many times larger than any of the usual sorts of feature work that tends to go on around core perl, I think it would be useful to extend the usual review process. I would like to get some early feedback from the sorts of folks who are likely to review it officially when the time comes, way ahead of that time, so as to keep people informed and that there be no huge surprises when the real review happens. I have emailed you folks specifically as I feel that you are all the sort of people who are likely to express opinions on the code and the features contained therein at the time of the real PR, but may not be aware of the existing work or its current state. I would like to ask for some initial amount of looking-over and commentary and discussion ahead of that if possible, so as to try to avoid getting stuck in arguments later on. What I don't want to happen is to spend the next three months building on top of this and getting lots of feature work in time for a real review in December, only for everyone to go "no no no this isn't right at all" when we get there. (Other folks than these are also of course welcome to comment - I just singled out this list in particular because I imagined these people are likely fit the category.) I don't know what's a good mechanism for this. Currently the work is sitting on a branch in my own repo fork of Perl5: https://github.com/leonerd/perl5/tree/feature-class/ and so for example github will attempt to generate a set of diffs by https://github.com/Perl/perl5/compare/blead...leonerd:perl5:feature-class Probably a fairly good place to start looking at what is involved, is to look over the unit tests - which all exist in their own subdirectory, `t/class/...`. https://github.com/leonerd/perl5/tree/feature-class/t/class There are also various "Discussion" threads about design or implementation details and quirks: https://github.com/leonerd/perl5/discussions I don't think that simply creating a (draft) PR at this stage would be helpful. This is branch is still a good couple of months away yet from being merge-candidate-ready, and will likely entail many many more commits, rebases and force-pushes before then. I don't think github's mechanisms will cope very well with that because of the volume of commentary over time that it may involve. I'm open to suggestions on what may be a good way to handle this design and implementation feedback, ahead of the review. I'm also open to being told "I have no opinions here" from individuals - though it would be an unfortunate outcome of the process to be told that at this stage, only to then receive objections later on at review time. If you have thoughts about the current direction, now is a far better time than December to air them ;) -- Paul "LeoNerd" Evans leonerd@leonerd.org.uk | https://metacpan.org/author/PEVANS http://www.leonerd.org.uk/ | https://www.tindie.com/stores/leonerd/Thread Next