This is documentation for Mathematica 8, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)


assigns rhs to be the value of lhs, and associates the assignment with the symbol f.
  • TagSet defines upvalues or downvalues as appropriate.
  • The symbol f in must appear in lhs as the head of lhs, the head of the head, one of the elements of lhs, or the head of one of the elements.
  • A common case is .
  • You can see all the rules associated with a particular symbol by typing ?symbol.
  • If f appears several times in lhs, then associates the assignment with each occurrence.
  • When it appears in unevaluated symbolic form, TagSet is treated as a scoping construct so that variables in nested occurrences are renamed if necessary.
Define a symbolic property of a symbol:
Define a symbolic property of a symbol:
Click for copyable input
For ownvalues, the tag is redundant:
For downvalues, the tag is redundant:
Use a tag to define upvalues:
Build a database of exchange rates:
defines upvalues in the same way as using a tag does:
The right side of an immediate definition is evaluated when the definition is made:
The right side of a delayed definition is evaluated each time the definition is used:
Definitions with the same left side overwrite earlier ones:
Definition prints definitions associated with a symbol:
Information prints various information about a symbol, including any definitions:
UpValues returns a list of rules corresponding to any upvalues defined:
Use to clear definitions with a particular left-hand side:
Clear all definitions:
In the presence of global variables, pattern variables may show unexpected behavior:
Delayed assignments behave as expected:
Use upvalues to assign to subscripted variables:
Subscripted variables are distinct from indexed variables:
New in 1