Me writes:
>
> 4. Autoargs are conceptually simpler than
> shared variables, for both newbies and
> experts. But clearly this is subjective. :>
>
thats exactly the point where I tryed to improve. Think of me as a
newbe ( which I am ) -- If I understand your proposal , I can explain it to
myself through the "sort of" shared variable :
$x is yours
tells that $x is aliased to variable in some "secret scope symbol
table" that ( the table ) is shared between caller and callee
also, another way :
$x is yours
is like saying that all functions that will ever call each other (
that is, if in my programm A calls B and B calls C and ... , then I
will croup them in a group that "ever call each other" ) and
which each have a declaration "$x is yours" may be thought
of as being in special common *enclosing* lexical scope , at the top
of which there is a declaration
my $x ;
so they all *share* the same variable .
I think the effect here is the same as what you are saying .
but may be I am wrong.
also , there is another question :
{
my $x is yours = 1;
a ;
print $x # print 1 or 5 ?
}
sub a { $x is yours ; $x = 5 ; }
( in my formulation it prints 5 ) .
so the question is : is "is yours" variable assigned or aliased in the
callee scope ? probably I missed this from your explanations .
probably we should have both , and then "is yours" mechanism is more
general .
also , anothre question . if "is shared" isn't thread safe , is static
scoping using
our $x is private ;
thread safe ??
arcadi .