[EMAIL PROTECTED] writes:
: On Wednesday 03 April 2002 18:24, Larry Wall wrote:
: > 
: > Sure, just say
: > 
: >     { loop (my $i = intializer(); condition($i); $i = advance($i)) { ... } 
: }
: > 
: > : Perhaps something like:
: > : 
: > : initalizer() -> $i { LOOP: NEXT { $i = advance($i); redo LOOP if 
: > : condition($i);} ... }
: > : 
: > : except I'm not sure that that would have the same semantics.
: > 
: > Other than that C<initializer> isn't going to be expecting a closure,
: > and C<redo> would bypass the NEXT, and there's no loop there to
: > C<redo>, and you'd have to make the parameter C<$i is rw>, why, it
: > should work find.  :-)
: > 
: > : (Or, more generally, given a for loop with a "my", how sould perl52perl6 
: > : deal with it?
: > 
: > Probably just by slapping an extra set of curlies around it.
: 
: Umm..... didn't you say bare blocks were going away?

Rule #2 was invoked.

The current thinking is that any bare block will never be interpreted
as returning a closure.  You have to use explicit C<return {}> or C<sub {}>
to return a closure.

Larry

Reply via email to