so these two are equivalent ???

{
my $x is yours ; 
my $y is yours ; 
my $z is yours ; 
....1...
sub_a ; 
....2...
}
sub sub_a ( ; $x is yours, $y is yours ) { ...3... } ; 

----------------------------- same as -------------
# ( here no special meaning for "is yours" -- just another property )

{
my $x is yours ;
my $y is yours ;
my $z is yours ;

....1...

#alias %MY to topic so that it can be fetched from sub_a by "is given" 
$_ ::= \%MY ;
sub_a ; 

....2...

}

sub sub_a (    ;$x is yours, 
                $y is yours  ) is given($CALLER_SYMB)
{
        #alias variables from $CALLER_SYMB to the local variables if
        #requested
        $SUB_SYMB ::= \%MY ;
        for $SUB_SYMB.keys {
          if       $SUB_SYMB{$_}.yours 
            and $CALLER_SYMB{$_}.yours   
           {
              $SUB_SYMB{$_} ::= $CALLER_SYMB{$_} ;
           }
        } ;
        $CALLER_SYMB = undef ; #but better if this happens at compile time
                                 # -- probably this have to be forced with
                                 #    BEGIN 
....3...

} ; 




arcadi 

Reply via email to