This is documentation for Mathematica 8, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)


causes expr to be evaluated even if it appears as the argument of a function whose attributes specify that it should be held unevaluated.
  • Evaluate only overrides HoldFirst, etc. attributes when it appears directly as the head of the function argument that would otherwise be held. »
Evaluate inside a Hold:
Evaluate inside a Hold:
Click for copyable input
Evaluate works for arguments of any symbol with attributes HoldAll, HoldFirst, or HoldRest:
Since Attributes is HoldAll, use Evaluate to find the properties of the value of x:
Unprotect a system symbol to make a definition for it:
Restore protection:
Force evaluation of the right-hand side of a delayed definition:
Build a function from an expression:
Evaluate does not work inside functions with attribute HoldAllComplete:
Use Unevaluated to temporarily treat a function as if it were HoldAll:
Evaluate does not work inside Unevaluated:
Evaluate works only on the first level, directly inside a held function:
New in 2