RosettaCodeData/Task/Generic-swap/Maxima/generic-swap.maxima

17 lines
215 B
Plaintext

a: 10$
b: foo$
/* A simple way to swap values */
[a, b]: [b, a]$
a; /* foo */
b; /* 10 */
/* A macro to hide this */
swap(x, y) ::= buildq([x, y], ([x, y]: [y, x], 'done))$
swap(a, b)$
a; /* 10 */
b; /* foo */