Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Corinna Update

by Ovid (Cardinal)
on Nov 16, 2021 at 16:39 UTC ( [id://11138902]=perlnews: print w/replies, xml ) Need Help??

The RFC process is continuing at the Corinna github repo.

Damian Conway has made a proposal for simplifying the syntax and the Corinna team is generally receptive, so we've adopted it (minus some side discussions about class data).

I call this KIM. KIM stands for "Keyword, Identifier, Modifier" and we're standardizing the syntax around that (there are open questions about method modifiers). As a result, Corinna is now reduced to four keywords, class, role, slot, and method. Modifying the behavior is done via attributes. This greatly simplifies the overall idea. Thus, instead of this:

class Foo isa Bar does This { ... }
We have:
class Foo :isa(Bar) :does(This) { ... }

Other major changes can be read about in our Major Changes document.

As an aside, you can now clone and install the Corinna code. It uses Object::Pad under the hood, of course. There are tests and you can get a rough idea of what new code will look like with Corinna.

I know this it taking a while and I'm sorry for that, but we're being careful to try to get it right. Plus, I'm slaughtered with work currently. Seems all Perl devs who want work have it, so we're having trouble finding senior Perl devs who want remote work (oh, and we're looking for Typescript and Vue.js, if you know anyone).

Note: the RFC documents are not final. We pretty much have the minimum viable product (MVP) semantics nailed, but there are tricky issues regarding the grammar. Reading the issues in github will help if you're interested in helping.

Replies are listed 'Best First'.
Re: Corinna Update
by tangent (Parson) on Nov 16, 2021 at 19:16 UTC
    See also:

    A dream resyntaxed by Damian Conway

    If you’ve read Curtis Poe’s most recent blog post, what follows is going to seem eerily familiar. This post uses the same concepts, arguments, and code examples as his, and reaches exactly the same conclusions...

    When I read Curtis’s post I almost decided to bin this one, as he managed to cover everything necessary in his usual succinct, eloquent, and engaging style. But he has encouraged me to post my version of this discussion too, as it provides a little more detail on some of the issues we’re addressing, and on the design rationale for the changes we are jointly proposing.

    So here’s the “Conway cut” of our joint proposal... If you’d like some extra insights into the syntactic design of Corinna (and of Perl itself!), and perhaps a slightly more detailed and stereoscopic view of the issues we’re on!
Re: Corinna Update
by holli (Abbot) on Nov 18, 2021 at 23:05 UTC
    I know this it taking a while and I'm sorry for that, but we're being careful to try to get it right.
    I'm sure it will be ready by christmas :D


    You can lead your users to water, but alas, you cannot drown them.
Re: Corinna Update
by perlfan (Vicar) on Nov 16, 2021 at 17:17 UTC
    Thanks for the update!

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlnews [id://11138902]
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (8)
As of 2024-04-22 15:41 GMT
Find Nodes?
    Voting Booth?

    No recent polls found