is an attribute that specifies that all arguments to a function are to be maintained in an unevaluated form.
Examplesopen allclose all
Basic Examples (1)
Many functions with scoping behavior have the HoldAll attribute:
Use Evaluate to make the list structure manifest:
Properties & Relations (13)
Functions that operate on symbols often need the HoldAll attribute:
Control structures such as Table protect their arguments from evaluation:
Sequence splicing still happens for functions with the attribute HoldAll:
Use the container HoldComplete to suppress even such transformations:
The attribute that causes this behavior is HoldAllComplete:
HoldPattern protects patterns from evaluation but does not interfere with pattern matching:
Wolfram Research (1988), HoldAll, Wolfram Language function, https://reference.wolfram.com/language/ref/HoldAll.html.
Wolfram Language. 1988. "HoldAll." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/HoldAll.html.
Wolfram Language. (1988). HoldAll. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/HoldAll.html