Dan Sugalski writes:
: The core will already know.

Especially if we add return types.

: Whether this justifies exposing the information's for someone else to 
: judge, but the core will know what context something is in. This is for 
: optimization reasons. While it's straightforward enough to know that this 
: is a hash copy:
: 
:    %foo = %bar;
: 
: which can be optimized, it's less easy to optimize this:
: 
:    sub foo {
:      my %hash;
:      %hash = (1..10000);
:      return %hash;
:    }
: 
:    %bar = foo();
: 
: without return knowing its argument's in list(hash) context. If we know 
: that, though, the function return can be quicker than it would be if we 
: flatten and reconstitute the hash.

I expect that we'll get more compile-time benefit from

    my HASH sub foo {
        ...
    }

    %bar = foo();

Larry

Reply via email to