assigns rhs to be the value of lhs, and associates the assignment with symbols that occur at level one in lhs.


  • f[g[x]]=value makes an assignment associated with f. f[g[x]]^=value makes an assignment associated instead with g.
  • UpSet associates an assignment with all the distinct symbols that occur either directly as arguments of lhs, or as the heads of arguments of lhs.


open allclose all

Basic Examples  (1)

Define a symbolic property of a symbol:

Scope  (2)

^= defines upvalues:

If several symbols appear in the left-hand side, upvalues for all of them are defined:

Applications  (1)

Build a database of exchange rates:

Properties & Relations  (2)

^= defines upvalues in the same way as using a tag does:

^= defines upvalues; = defines downvalues:

Introduced in 1988