is an attribute which specifies that all arguments to a function are not to be modified or looked at in any way in the process of evaluation.


  • By setting the attribute HoldAllComplete, you can effectively shield the arguments of a function from all aspects of the standard Wolfram Language evaluation process.
  • HoldAllComplete not only prevents arguments from being evaluated, but also prevents Sequence objects from being flattened, Unevaluated wrappers from being stripped, and upvalues associated with arguments from being used.
  • Evaluate cannot be used to override HoldAllComplete.
Introduced in 1996