Re: When can I take given as read?

2005-06-21 Thread Carl Franks
sub factorial (Int $n is topic) { return 1 when 0; return $n * factorial $n; } hmm, could we write... sub foo (Class $self is topic: +$foo, +$bar) { .method; } to avoid having to use ./ ? Cheers, Carl

Re: When can I take given as read?

2005-06-21 Thread Piers Cawley
Carl Franks [EMAIL PROTECTED] writes: sub factorial (Int $n is topic) { return 1 when 0; return $n * factorial $n; } hmm, could we write... sub foo (Class $self is topic: +$foo, +$bar) { .method; } to avoid having to use ./ ? Yay!

Re: When can I take given as read?

2005-06-21 Thread Juerd
Carl Franks skribis 2005-06-21 8:54 (+0100): hmm, could we write... sub foo (Class $self is topic: +$foo, +$bar) { .method; } For such a short method, perhaps just using $_ directly makes more sense: sub foo (Class $_: +$foo, +$bar) { .method; } to avoid having to use ./

Re: When can I take given as read?

2005-06-17 Thread Larry Wall
On Fri, Jun 17, 2005 at 04:41:53AM +0100, Piers Cawley wrote: : Suppose I have a simple, single argument recursive function: : : sub factorial (Int $n) { : return 1 if $n == 0; : return $n * factorial $n; : } : : Can I write that as: : : sub factorial (Int $n:) { : return 1

Re: When can I take given as read?

2005-06-17 Thread Rod Adams
Larry Wall wrote: Can anyone think of a good reason not to topicalize the first arg of ordinary subs these days? Other than subtle encouragement toward use of multis? I suppose it also makes refactoring between subs and methods more difficult in the case where you're adding an invocant,

Re: When can I take given as read?

2005-06-17 Thread Damian Conway
Larry wrote: : Can I write that as: : : sub factorial (Int $n:) { : return 1 when 0; : return $n * factorial $n; : } As it stands right now, no. Ordinary subs do not allow invocants. Arguably, it'd be more consistent if ordinary subs always topicalized their first argument.

When can I take given as read?

2005-06-16 Thread Piers Cawley
Suppose I have a simple, single argument recursive function: sub factorial (Int $n) { return 1 if $n == 0; return $n * factorial $n; } Can I write that as: sub factorial (Int $n:) { return 1 when 0; return $n * factorial $n; } NB. Yes, I know it's a pathological