Slash Boxes
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 ]

rafl (7583)

  (email not shown publicly)
+ -

  Comment: Re:Programmable keywords... (Score 1) on 2009.12.01 10:40

by rafl on 2009.12.01 10:40 (#71274)
Attached to: Why Should I Program in $Language?
FYI, MooseX::Declare provides exactly that already (except you inherit with "extends", not "isa").
Read More 24 comments
Comments: 24
+ -

  Comment: Re:preemptive coroutines (Score 1) on 2009.07.05 19:34

by rafl on 2009.07.05 19:34 (#69297)
Attached to: In defense of Perl ithreads

Luckily, preemptive coros don't do that. Everything still runs in one process, one coro at a time. Just passing control from one coro to another can happen implicitly, so blocking code that isn't under your control is not a problem anymore.

Read More 14 comments
Comments: 14
+ -

  Comment: preemptive coroutines (Score 1) on 2009.07.04 23:45

by rafl on 2009.07.04 23:45 (#69258)
Attached to: In defense of Perl ithreads

Yes, currently you will have to explicitly cede control to the other coroutines regularly. However, Yuval is currently trying to get his patch implementing preemptive coros merged into Coro. Those allow control to be automatically passed to other Coros using different strategies like opcode counting and fixed timeslices. That'd at least solve one of the problems you're describing.

Read More 14 comments
Comments: 14
+ -

  Comment: Re:Curious... (Score 1) on 2009.02.20 13:31

by rafl on 2009.02.20 13:31 (#67509)
Attached to: Moose!

All MooseX::Declare does to not require you to unimport all Moose keywords (and possibly other imports) is

use namespace::clean -except => 'meta';

to remove all previously defined and imported functions (except for the 'meta' method Moose gives you) at the end of compile time. No need to wait for anything.

Read More 12 comments
Comments: 12
+ -

  Comment: Class::MOP (Score 1) on 2009.01.29 12:05

by rafl on 2009.01.29 12:05 (#67106)
Attached to: Object Inspector?
Class::MOP makes it trivial to implement all those things. Read up on Class::MOP::Class and Class::MOP::Method.
Read More 2 comments
Comments: 2
+ -

  Comment: MooseX::Declare (Score 1) on 2008.12.12 5:58

by rafl on 2008.12.12 5:58 (#66431)
Attached to: I Have a Secret Too

MooseX::Declare provides similar features. The class keyword only accepts a block with the class definition right now, but i'm also working on implementing "class Foo;" using B::Hooks::OP::Check::StashChange.

I'd be glad if we could have some basic syntax compatibility between MooseX::Declare and your class keyword patch, in case you want to add some kind of options to it so things like "class Foo extends Bar { .. }" and similar would be possible.

Read More 3 comments
Comments: 3