From: Tom Metro <[email protected]>
Date: Thu, 02 Apr 2009 22:12:00 -0400
Uri Guttman wrote:
> ...much of the rest was fancy ops and OO stuff...
I remember the "fancy ops" but I don't remember much to do with OO,
aside from some syntax variations (arrow changes to dot). I've actually
seen very little said on how Perl 6 will be different from an OO
perspective.
Larry did say more about multiple dispatch than I had expected for such
a high-level talk -- and somewhat less than I would have liked about the
new metaobject protocol. And instance variable scoping was mostly lost,
hidden in among the discussion of twigils.
FWIW, I was programming in Lisp during its transition to multiple
dispatch and MOP, and I found that it changed the way I thought about
OOP -- not completely, but significantly. I expect that something
similar will happen to people who start programming in Perl 6. Prepare
to have your mind expanded. ;-}
Larry also mentioned that the Perl 6 MOP will support both
class-based and instance-based inheritance -- and that's all he said. I
do not understand how the two can work together.
(There might actually have been more on that dating back to the
Parrot talks we had in 2001.)
IIUC, much may have changed since then. But I'm no expert; it's been a
while since I've read (or tried to read) S12 [1]; I find it heavy going,
because there seem to be a lot of new things that don't map cleanly onto
the OO models I already know. Or maybe I just haven't mapped the new
terminology properly. In any case, I think it's just as well that Larry
only skimmed the surface.
> ...evolving regexes into the inheritable rules system
> is a major breakthrough.
True, and the point Larry made about how the parser now has to deal with
only one language at a time, with the sub-languages separated and
handled by their own parser rules. And how you can build on this
mechanism yourself to introduce your own grammars that apply only within
a limited scope.
Larry went into more detail on this topic in last year's YAPC keynote.
I tried to Google it, but I couldn't find anything . . .
This could lead to a flood of domain specific languages, or better ways
of handling templating.
Or even small tweaks, scoped to a single file, that just make some very
specific bit of syntax less ugly. That's what Lispers use macros for,
and Perl 6 should provide the same kind of thing. I'm looking forward
to that. ;-}
-- Bob
[1] http://svn.pugscode.org/pugs/docs/Perl6/Spec/S12-objects.pod
_______________________________________________
Boston-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/boston-pm