9.1.5 Forcing evaluation
unquote is used for evaluation
inside a quoted expression.
For example in an assignment, the variable is automatically quoted
(not evaluated) so that the user does not have to quote it explicitly
each time he want to modify its value. In some circumstances, you
might want to evaluate it.
purge(b);a:=b;unquote(a):=3 |
The variable b begins as a purely symbolic variable, and
the value of a is equal to the symbolic variable b. In the
assignment unquote(a):=3, the left hand side
unquote(a) is evaluated to b, and so b is
assigned the value 3. Since a evaluates to
the same thing as b, a also evaluated to 3.