This is documentation for Mathematica 3, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.1)
 Documentation / Mathematica / Built-in Functions / Programming / Attributes  /
HoldAll

  • HoldAll is an attribute which specifies that all arguments to a function are to be maintained in an unevaluated form.
  • You can use Evaluate to evaluate the arguments of a HoldAll function in a controlled way.
  • Even when a function has attribute HoldAll, Sequence objects that appear in its arguments are still by default flattened, Unevaluated wrappers are stripped, and upvalues associated with the arguments are used.
  • See the Mathematica book: Section 2.5.3Section 2.5.5.
  • See also: Unevaluated, Hold, NHoldAll, HoldAllComplete, SequenceHold, Extract.

    Further Examples

    Normally, arguments to functions are evaluated. If a function is assigned the attribute HoldAll, however, its arguments will not be evaluated.

    In[1]:=

    Out[1]=

    In[2]:=

    In[3]:=