Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Elian (119)

Elian
  (email not shown publicly)
http://www.sidhe.org/~dan/
AOL IM: DanSugalski (Add Buddy, Send Message)

Perl 6/Parrot internals ex-design team lead.

Journal of Elian (119)

Thursday February 20, 2003
10:54 AM

Perl 6 design days, the wrapup

[ #10691 ]

I got kind of behind here--while we were in Sebastapol working out perl 6 design stuff for four days (with half of the fifth spent socializing and wandering around on the California coast) I only got through two of the days before being derailed by other stuff. So, here's a quick wrapup of the event. (chromatic took extraordinary notes, and I'm going to work up an article on the happening for perl.com in my (depressingly non-copious) free time)

The end result of the four days was a complete hammering out of the semantics, and almost all of the syntax, involved in subroutines, including such interesting fun things as AUTOLOAD, lexical subs, named arguments, and other frobnitzes. This is good, and Larry is closing in on an Apocalypse for it. (There's actually a first draft in my inbox this morning, though I've not looked at it yet)

Once the Apocalypse is out, I expect that Damian'll get the Exegesis out in a few weeks, with the Synopsis either following or preceding, depending on how the tides and moon phases work out. We'll see there. (Damian's also in the position of potentially doing it interleaved with other, actually paying, work, so there may be a bit of a delay here or there)

We also got a lot of the semantics of objects beaten out. While homogeneous object systems are relatively simple--you just choose a half dozen "object model" features from the big list--heterogeneous systems are much more difficult, since you need to be able to inherit from parent classes that might have completely different systems without knowing, which means transparent delegation masquerading as inheritance, construction protocols, and much chicken blood.

Much of the prodding was on my account, since I want to mix and match ruby, python, perl 5, perl 6, .NET, and Java classes in my code. Why? I dunno, just because. (And insanity, but that reason goes without saying) We got what we needed to make this work for perl 6, and I know what I need to do with all the other object systems to make it work, so it should be fun.

We also worked some on the semantics of perl 6's object system, which is significantly more 'classical' an OO system than perl 5's model. Perl 5's model is not going away, it's merely going to live along side the new object model, so if you loathe the "go for it, good luck" style we have now, you can use the more structured model, but if you like the wild-west object model of perl 5, well, you can use that too. And you can mix them, within reason. Best of both worlds, I think.

Oh, and there's some pie in Guido's future, but more on that later.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.