Benjamin Goldberg writes: > Hmm... I just thought of something. Since 'set' semantics can be easily > simulated when we have only ops for 'assign' semantics, maybe imcc > itself could do this for us. > > That is, by default, > $P0 = $P1 + $P2 > will be translated by imcc into > add $P0, $P1, $P2 > but, if some command is given to imcc, then it will be translated into > new $P0, .PerlUndef > add $P0, $P1, $P2 > Or, instead of PerlUndef, the command to change to set semantics would > indicate what to put into $P0 prior to using it as the target of an add > (so we can initialize $P0 with any of PerlInt, PerlNum, BigInt, > BigFloat, BigRat, ContinuedFraction, etc.)
Hmm, I wonder whether this is the right approach. What about operator overloading? Let's say Python overloads + (can it do that?) and passes that variable to Perl. If Perl creates a .PerlUndef and assigns to it, you lose the overloaded semantics. I don't know... I think using vtable multimethods would be the best way to go wrt these things. Luke > -- > $a=24;split//,240513;s/\B/ => /for@@=qw(ac ab bc ba cb ca > );{push(@b,$a),($a-=6)^=1 for 2..$a/6x--$|;print "[EMAIL PROTECTED] > ]\n";((6<=($a-=6))?$a+=$_[$a%6]-$a%6:($a=pop @b))&&redo;}