On Wed, Apr 20, 2005 at 07:17:14PM +0200, Juerd wrote: : Juerd skribis 2005-04-20 19:09 (+0200): : > I'm not sure the XX thing will happen, but if it does, it'd be most : > useful if it wouldn't treat a sub call differently. : : I forgot rationale. : : It shouldn't treat a sub call differently, so that a called sub can in a : useful manner return a closure, which is then executed several times. : The same annoying special syntax can be found in perl 5's goto, that : can't go to a returned subref using "goto sub_that_returns_a_subref();".
Doesn't this work in Perl 5? goto &{sub_that_returns_a_subref()}; If not, I'd say it's a bug. : Which brings me to the following questions: : : Does goto LABEL still exist in Perl 6? : : Must LABEL be quoted/a normal string? Hmm, well we do still have bare labels for loop control, so I'd probably still put goto LABEL into the same category. Overloading goto in Perl 5 for stack frame replacement was probably a mistake. These days that should probably be handled with &sub.tailcall(@_) or some such anyway so that we can confuse it with ordinary tailcall optimizations. In fact, that might just be what ordinary tailcall optimization compiles down to. Larry