Ovid skribis 2005-04-10 10:47 (-0700):
> Apologies if this has been covered. What should this do?
> ($x,$y) := ($y,$x);
It would let $x be a second name for the variable that is also called
$y, and $y for $x. The old names $x and $y are overwritten, so
essentially the names for the two variables swapped without copying or
moving values around.
This is assuming that bound variables are visible only after the entire
bind expression is handled. Which would have to mean that the
expressions for default values are special.
> ($c, $d) := ($y, $x);
> # later
> ($x,$y) := ($c, $d); # whoops!
I imagine that that has the same effect as
($x, $y) := ($y, $x);
($c, $d) := ($x, $y);
Of which I wonder if it can be written as
($c, $d) := ($x, $y) := ($y, $x);