On Mon, Nov 21, 2005 at 03:48:30PM +0000, Luke Palmer wrote: : To illustrate: : : sub foo ([EMAIL PROTECTED]) { : say [EMAIL PROTECTED]; : } : sub bar (*@;a) { : say +@;a; : } : foo(1,2,3; 4,5,6); # 6 : bar(1,2,3; 4,5,6); # 2 : : That is, the regular [EMAIL PROTECTED] has "concat" semantics. However, I'd like to : argue that it should have "die" semantics, for obvious reasons.
Well, that can be argued both ways. The Unix shells get along very well with default concat semantics, thank you: (echo foo; echo bar; echo baz) | grep a And it's rather Perlish to give you a level of flattening for free when it comes to lists. And I'd like to be able to distinguish: my @foo := gather { for @whatever { take .generate(); } } from my @;foo := gather { for @whatever { take .generate(); } } though I think maybe I'm arguing that the ; there is just documentation if @;foo and @foo are really the same variable, and it's the differing usage in rvalue context that desugars @;foo to [;]foo.dims. Larry