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 .