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