develooper Front page | perl.perl5.porters | Postings from December 2008

Re: [PATCH] Class as a Feature (take four)

Thread Previous | Thread Next
From:
Jonathan Rockway
Date:
December 15, 2008 20:37
Subject:
Re: [PATCH] Class as a Feature (take four)
Message ID:
87ej08envo.fsf@bar.jrock.us
* On Mon, Dec 15 2008, chromatic wrote:
> On Monday 15 December 2008 14:44:42 Rafael Garcia-Suarez wrote:
>
>> 2008/12/15 chromatic <chromatic@wgz.org>:
>
>> > I think class BLOCK by itself is useful (descriptive and simpler syntax
>> > for compile-time package scoping and @ISA setting), but it's definitely a
>> > required feature before even considering at least the first element of
>> > your list.  Certainly it has more value than the similarly small syntax
>> > change of allowing 'method where 'sub' is today.
>
>> The work on the method keyword was not only a way to introduce named
>> parameters, but also aliasing and compile-time checking. (in a better
>> way than prototypes)
>
> Is there a method keyword now?  I was speaking hypothetically of a patch which
> only added 'method' as a synonym for 'sub'.

Just general commentary on the thread.  The syntax extensions described
are already implemented just fine outside of core (see, for example,
MooseX::Declare).  The same goes for things like final classes,
attributes, etc.  It would be silly to implement this stuff in core when
it is already working great outside of core.

I know it would be nice to say "perl has these features standard"... but
I think it is about 10 years too late for that.  Perl 5 is about
modules -- if you want a feature, get it from the CPAN.

Anyway, I think the best approach for core to take is to make things
like Devel::Declare not break -- writing your own syntax extensions is a
very nice feature that *does* belong in core.  (rafl and mst are already
going a great job keeping Devel::Declare stable; and things like
B::Hooks are making it very easy to write things that were once reserved
for the core or evil XS hackery in pure Perl.)

Regards,
Jonathan Rockway

--
print just => another => perl => hacker => if $,=$"

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About