[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