On 5/6/05, Larry Wall <[EMAIL PROTECTED]> wrote:
> The question is whether to treat the left arg the same way we treat
> attribute defaults, with one free closure call.  We could say that
> 
>     { rand 10 } x 100
>     { rand 10 } xx 100
> 
> should just automatically call the closure on the left repeatedly.  In
> the rare, rare case that you want to actually replicate a closure, you'd
> have to say
> 
>     { { rand 10 } } x 100
>     { { rand 10 } } xx 100
But we also have to remember that, given:

    my @codes = { { rand 10 } } xx 100;
    say @codes[0] == @codes[1];   # 0

You're not duplicating one closure as you are with:

    my @others = { rand 10 } xx 100;

Without the closure semantics of xx.  If you made @codes[0] do some
role, it would only apply to @codes[0], but if you made @others[0] do
some role, it would apply to every closure in @others.

Luke

Reply via email to