-
Notifications
You must be signed in to change notification settings - Fork 19
Home
"Good enough" is not good enough.
Corinna, previously called “Cor” is nothing less than an attempt to not only bring modern OO to the Perl core, but to leapfrog the capabilities of most OO languages today.
It is important to note that Corinna must not simply be better than Perl's current OO. That's an absolute mistake to think that way. Corinna must be better than what you can get in Python 3, Ruby, Swift, and so on. It must be the OO language that people want to work with.
Read The Lisp Curse to get a sense of why this is so important.
The "canonical" description of Corinna is at Corinna Overview. This page should be the "go to" page for all descriptions of Corinna behavior. If other pages disagree (they do!), please create an issue. The overview is part of an attempt to move from specifying Corinna to getting her into the Perl core.
- Rationale
- Grammar
- Classes
- Attributes
- Constructors
- Destructors
- Methods
- UNIVERSAL::Corinna base class
- Class Data and Methods
- Roles (WIP)
- Cookbook (WIP)
- Open Questions
- Things we're not implementing right now
Catch us on irc.perl.org, #cor.
Corinna is the product of Ovid's deranged mind, but he largely stole a bunch of ideas from Stevan Little, who's working on a prototype. Sawyer X asked great questions and gave a few good ideas to make it even better. If this goes into the core, Sawyer is the person who will likely guide that effort.
Damian Conway has worked to pervert the process.
Also, Paul Evans is also playing with some of these ideas. See Object::Pad.
Corinna—Bringing Modern OO to Perl