**Johannn Wiesenbauer
Technical University of Wien, Austria
j.wiesenbauer@tuwien.ac.at**

**Abstract**

In contrast to other CAS, self-assignments, i.e. assignments where the
variable on the left hand side also occurs in the expression on the right
hand side, are not possible in *DERIVE*. For example, as a consequence
of the input:

#1: a:=1 #2: a:=2athe variable a will have the value 2a, instead of the expected value 2. Using undocumented features of

#3: NEWA(u):=a:=u #4: a:=1 #5: NEWA(2a)In fact, after simplifying #5 the variable a has the value 2 now.

For the very first time this inconspicuous utility-function *NEWA* was used
by J.Lechner, E.Roanes L.,E.Roanes M. and the author (cf. The
DERIVE-NEWSLETTER #25, 15-22) to implement a turtle graphics in *DERIVE*.
In the meantime, it has turned out that a lot of other amazing things can be
done with it. In particular, it can be used for storing and retrieving data
in the background without the user noticing it. One important application
of this feature are "brainy" functions that will memorize the results or
previous computations and use them in an intelligent way. Some examples of
this sort will be given in my talk.

IMACS ACA'98 Electronic Proceedings