WOLFRAM

Evaluate[expr]

causes expr to be evaluated even if it appears as the argument of a function whose attributes specify that it should be held unevaluated.

Details

  • You can use Evaluate to override HoldFirst etc. attributes of builtin functions.
  • Evaluate only overrides HoldFirst etc. attributes when it appears directly as the head of the function argument that would otherwise be held. »

Examples

open allclose all

Basic Examples  (1)Summary of the most common use cases

Evaluate inside a Hold:

Out[1]=1

Scope  (1)Survey of the scope of standard use cases

Evaluate works for arguments of any symbol with attributes HoldAll, HoldFirst, or HoldRest:

Out[1]=1

Since Attributes is HoldAll, use Evaluate to find the properties of the value of x:

Out[3]=3

Applications  (3)Sample problems that can be solved with this function

Unprotect a system symbol to make a definition for it:

Out[1]=1

Restore protection:

Out[3]=3

Force evaluation of the right-hand side of a delayed definition:

Out[1]=1
Out[3]=3

Build a function from an expression:

Out[1]=1
Out[2]=2
Out[3]=3

Properties & Relations  (3)Properties of the function, and connections to other functions

Evaluate does not work inside functions with attribute HoldAllComplete:

Out[1]=1

Use Unevaluated to temporarily treat a function as if it were HoldAll:

Out[1]=1
Out[2]=2

Evaluate does not work inside Unevaluated:

Out[1]=1

Possible Issues  (1)Common pitfalls and unexpected behavior

Evaluate works only on the first level, directly inside a held function:

Out[1]=1
Wolfram Research (1991), Evaluate, Wolfram Language function, https://reference.wolfram.com/language/ref/Evaluate.html.
Wolfram Research (1991), Evaluate, Wolfram Language function, https://reference.wolfram.com/language/ref/Evaluate.html.

Text

Wolfram Research (1991), Evaluate, Wolfram Language function, https://reference.wolfram.com/language/ref/Evaluate.html.

Wolfram Research (1991), Evaluate, Wolfram Language function, https://reference.wolfram.com/language/ref/Evaluate.html.

CMS

Wolfram Language. 1991. "Evaluate." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/Evaluate.html.

Wolfram Language. 1991. "Evaluate." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/Evaluate.html.

APA

Wolfram Language. (1991). Evaluate. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Evaluate.html

Wolfram Language. (1991). Evaluate. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Evaluate.html

BibTeX

@misc{reference.wolfram_2025_evaluate, author="Wolfram Research", title="{Evaluate}", year="1991", howpublished="\url{https://reference.wolfram.com/language/ref/Evaluate.html}", note=[Accessed: 11-May-2025 ]}

@misc{reference.wolfram_2025_evaluate, author="Wolfram Research", title="{Evaluate}", year="1991", howpublished="\url{https://reference.wolfram.com/language/ref/Evaluate.html}", note=[Accessed: 11-May-2025 ]}

BibLaTeX

@online{reference.wolfram_2025_evaluate, organization={Wolfram Research}, title={Evaluate}, year={1991}, url={https://reference.wolfram.com/language/ref/Evaluate.html}, note=[Accessed: 11-May-2025 ]}

@online{reference.wolfram_2025_evaluate, organization={Wolfram Research}, title={Evaluate}, year={1991}, url={https://reference.wolfram.com/language/ref/Evaluate.html}, note=[Accessed: 11-May-2025 ]}