RFC checklist
This is undoubtedly incomplete, but the following items will be needed to be accomplished before we can get an RFC to P5P:
- [x] ~~
:handles(@%*). The:handles(*)syntax allows all unknown method to be delegated to this slot (we can fake inheritance from non-Corinna objects this way)~~ - [x] Do we rename
has? - [x] Declaration of class slots and methods.
- [ ] Document Moo/se idioms in Corinna (maybe toss in stuff from other popular OO systems?)
- [ ] Disambiguating Corinna objects from other objects
- [x] Twigils or something else?
- [x] Get signoff for Overview
- [x] Get signoff for Grammar
- [x] Get signoff for Classes
- [x] Get signoff for Class Construction
- [x] Get signoff for Attributes
- [x] Get signoff for Methods
- [x] Get signoff for Roles
- [x] Get signoff for Phasers
- [x] Get signoff for Method Modifiers
@leonerd I've assigned this to you not because I expect you to do all of this, but because I wanted to be sure that you're away of this checklist and can mark off anything as completed if that time arises.
For now, skipping documenting differences between Corinna and Object::Pad because the latter is a fast moving target and the documentation will always be out of date.
Also skipping the following two because these are important, but they're part of the implementation, not part of the RFC:
- State inspection tools. It should be human-readable, but not something you should rely on programmatically. This relates to the debugger and Data::Dumper (I believe @leonerd has already done much of this)
- Ensure the full Corinna construction phases are implemented
This might be dumb. I was thinking about your "module" proposal. Since we already have "package" why not use "parcel" as the keyword. It's not used anywhere. Parcel reminds me of a smaller package. Maybe not the best place to share this but I wasn't sure where else.
@sigzero Just saw this, sorry.
parcel's an interesting name. However, for now, the PSC has passed on the module proposal. If there's something more compelling in the future, we can revisit this.