assigns rhs to be the delayed value of lhs. rhs is maintained in an unevaluated form. When lhs appears, it is replaced by rhs, evaluated afresh each time.


  • SetDelayed has attribute HoldAll, rather than HoldFirst.
  • You can make assignments of the form lhs:=rhs/;test, where test gives conditions for the applicability of each transformation rule. You can make several assignments with the same lhs but different forms of test.
  • lhs:=rhs returns Null if the assignment specified can be performed, and returns $Failed otherwise.
Introduced in 1988