Mathematica's symbolic architecture supports a highly generalized notion of assignment, in which you can specify a transformation for any class of expressions defined by a
Mathematica pattern. Simple cases correspond to assignments for "variables", "indexed variables" or "structure elements". Other cases define functions or general transformations.
a[[i]]=v — assign a value to a list/array/expression element
lhs=rhs — immediate assignment, with
rhs evaluated at the time of assignment
lhs:=rhs — delayed assignment, with
rhs re-evaluated every time it is used
f/:lhs=rhs,
f/:lhs:=rhs — associate assignments with the head
f
lhs^=rhs,
lhs^:=rhs — define "upvalues" associated with the leading head in
lhs
Clear — clear all values associated with a symbol
?x (
Information) — get information about all assignments for
x