I think , ( on the second reading of your post ) , that your proposal
of "my $x is yours" is logically very similar to my proposal of "our
$x is shared" but your proposal is cleaner if I understand it as
follows ( although I like more "shared" instead of "yours" for that
purpose ) : instead of aliasing the lexical variable variable $x to
the variable of the same name in the *current package* is yours
*create* a new (secret) symbol-table that is remembered by compiler to
be associated with variable $x and *aliases* $x to the variable of the
same name in that (secret) symbol-table . *Any* other instances of 
"$x  is yours" *alias* $x to *the same* variable $x in that (same)
secret symbol-table. 

I do understand that strictly speaking you proposal is *very*
different -- since you want only those function that will *ever* call
each other ( not necessarily directly ) to share ( by default ) some
variable -- so you propose dynamic (???) sharing . I propose *static*
sharing -- but in practice they are *the same* -- the only difference
is that I may happen to make two functions that *never* call each
other ( or never happen to be in the same dynamic scope ) to share the 
same variable . But I am in controll of this ( If I am carefull lI
will not do it -- and share variables only between those functions that it
makes sence to share between ).  

my point is that static sharing is simpler to understand ( to me ) and 
it is a simpler concept -- just some "mailbox" variable that "hangs"
somewere above the "battlefield"  that only
several people can access . dynamic sharing is like a *red* message that
have to be passed ( secretly ) every time a soldier  have it happens
to *meet* another soldier that know that it have to receive *red*
message. 

and I am not talking about implementation . 

arcadi 

Reply via email to