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 . 

Reply via email to