Re: $value but lexically ...

2005-10-07 Thread Dave Mitchell
On Fri, Oct 07, 2005 at 03:46:02PM -0600, Luke Palmer wrote: > Uh no. Okay, when I said that they "don't close", I guess I meant > they don't close like anonymous routines do. It works precisely like > Perl 5's: > > sub foo { > my $foo = 5; > sub bar { > return $f

Re: $value but lexically ...

2005-10-07 Thread Luke Palmer
On 10/7/05, Juerd <[EMAIL PROTECTED]> wrote: > Luke Palmer skribis 2005-10-07 15:31 (-0600): > > sub foo($x) { > > sub bar() { > > return $x; > > } > > return &bar; > > } > > foo(42).(); # > > Does this mean that this Perl 5 snippet no longer d

Re: $value but lexically ...

2005-10-07 Thread Juerd
Luke Palmer skribis 2005-10-07 15:31 (-0600): > Well, I see a cognitive downside. That is, package declarations (the > default) don't create closures. It's like this: > sub foo($x) { > sub bar() { > return $x; > } > return &bar; > } > foo(42).();

Re: $value but lexically ...

2005-10-07 Thread Luke Palmer
On 10/7/05, Juerd <[EMAIL PROTECTED]> wrote: > Miroslav Silovic skribis 2005-10-07 13:07 (+0200): > > Can an inline role be named? > > 0 but role is_default {} > > This is a nice idea. It would require named roles (and to really be > succesful, also classes, subs, methods, ...) declarations to be >

Re: $value but lexically ...

2005-10-07 Thread Juerd
Miroslav Silovic skribis 2005-10-07 13:07 (+0200): > Can an inline role be named? > 0 but role is_default {} This is a nice idea. It would require named roles (and to really be succesful, also classes, subs, methods, ...) declarations to be expressions, but I see no downside to that. Juerd -- h

Re: $value but lexically ...

2005-10-07 Thread Miroslav Silovic
[EMAIL PROTECTED] wrote: Would this work too? 0 but role {} Most certainly, but you would have no way to refer to that role later, so it is questionable how useful that construct is. No, it's not questionable. That is a useless construct. Luke Can an inline role be named? 0 b

Re: $value but lexically ...

2005-10-06 Thread Luke Palmer
On 10/6/05, Juerd <[EMAIL PROTECTED]> wrote: > Luke Palmer skribis 2005-10-06 14:23 (-0600): > > my role is_default {} # empty > > sub foo($a, ?$b = 0 but is_default) {...} > > Would this work too? > > 0 but role {} Most certainly, but you would have no way to refer to that r

Re: $value but lexically ...

2005-10-06 Thread Juerd
Luke Palmer skribis 2005-10-06 14:23 (-0600): > my role is_default {} # empty > sub foo($a, ?$b = 0 but is_default) {...} Would this work too? 0 but role {} Juerd -- http://convolution.nl/maak_juerd_blij.html http://convolution.nl/make_juerd_happy.html http://convolution

Re: $value but lexically ...

2005-10-06 Thread Luke Palmer
On 10/6/05, Dave Whipp <[EMAIL PROTECTED]> wrote: > sub foo( $a, ?$b = rand but :is_default ) > { > ... > bar($a,$b); > } > > sub bar( $a, ?$b = rand but :is_default ) > { >warn "defaulting \$b = $b" if $b.is_default; >... > } > > > It would be unfortunate if the "is_default" proper

$value but lexically ...

2005-10-06 Thread Dave Whipp
C properties get attached to a value, and are available when the value is passed to other functions/ etc. I would like to be able to define a property of a value that is trapped in the lexical scope where it is defined. The example that set me thinking down this path is sub foo( $a, ?$b = rand