PRODUCTS
Products Overview
Mathematica
Mathematica for Students
Mathematica Home Edition
Wolfram
CDF Player
(free download)
Computable Document Format (CDF)
web
Mathematica
grid
Mathematica
Wolfram
Workbench
Mathematica
Add-Ons
Wolfram|Alpha Products
SOLUTIONS
Solutions Overview
Engineering
Aerospace Engineering & Defense
Chemical Engineering
Control Systems
Electrical Engineering
Image Processing
Industrial Engineering
Materials Science
Mechanical Engineering
Operations Research
Optics
Petroleum Engineering
Biotechnology & Medicine
Bioinformatics
Medical Imaging
Finance, Statistics & Business Analysis
Actuarial Sciences
Data Analysis & Mining
Econometrics
Economics
Financial Engineering & Mathematics
Financial Risk Management
Statistics
Software Engineering & Content Delivery
Authoring & Publishing
Interface Development
Software Engineering
Web Development
Science
Astronomy
Biological Sciences
Chemistry
Environmental Sciences
Geosciences
Social & Behavioral Sciences
Design, Arts & Entertainment
Game Design, Special Effects & Generative Art
Education
STEM Education Initiative
Higher Education
Community & Technical College Education
Primary & Secondary Education
Students
Technology
Computable Document Format (CDF)
High-Performance & Parallel Computing (HPC)
See Also: Technology Guide
PURCHASE
Online Store
Other Ways to Buy
Volume & Site Licensing
Contact Sales
Software
Service
Upgrades
Training
Books
SUPPORT
Support Overview
Knowledge Base
Learning Center
Community & Forums
Training & Free Seminars
Does My Site Have a License?
Wolfram User Portal
COMPANY
About Wolfram Research
News & Events
Wolfram Blog
Partnerships
Employment Opportunities
History of
Mathematica
Stephen Wolfram's Home Page
Contact Us
OUR SITES
All Sites
Wolfram|Alpha
Demonstrations Project
MathWorld
Integrator
Wolfram Functions Site
Mathematica Journal
Wolfram Media
Wolfram
Tones
Wolfram Science
Stephen Wolfram
DOCUMENTATION CENTER SEARCH
New to
Mathematica
?
Find your learning path
»
Mathematica
>
Core Language
>
Expressions
>
Evaluation Control
>
Hold
>
BUILT-IN MATHEMATICA SYMBOL
Evaluation
Non-Standard Evaluation
Tutorials »
|
HoldPattern
HoldForm
HoldComplete
Unevaluated
HoldAll
HoldAllComplete
HoldFirst
HoldRest
Symbol
Defer
See Also »
|
Evaluation Control
Expressions
More About »
Hold
Hold
[
expr
]
maintains
expr
in an unevaluated form.
MORE INFORMATION
Hold
has attribute
HoldAll
, and performs no operation on its arguments.
Hold
is removed by
ReleaseHold
.
»
Hold
maintains a sequence of unevaluated expressions to which a function can be applied using
Apply
.
Even though
expr
itself is not evaluated,
Hold
[
expr
]
may still evaluate if
expr
is of the form
, and upvalues for
f
have been defined.
»
EXAMPLES
CLOSE ALL
Basic Examples
(1)
Hold an expression to prevent evaluation:
Release the hold:
Hold an expression to prevent evaluation:
In[1]:=
Out[1]=
Release the hold:
In[2]:=
Out[2]=
Applications
(2)
Find the length of each expression in a held list without evaluation:
Evaluate every sum (only) inside a held expression:
Properties & Relations
(9)
Hold
is a container with the attribute
HoldAll
:
Use
Evaluate
to force evaluation of an argument of
Hold
:
Unevaluated
inside a held expression is not removed:
Sequence splicing still happens inside
Hold
:
Use the container
HoldComplete
to suppress even such transformations:
Upvalues work inside
Hold
:
They do not work inside
HoldComplete
:
Substitution works inside
Hold
:
Insert into a held expression:
ReleaseHold
removes one level of
Hold
:
HoldForm
is like
Hold
, but is normally not shown in the output:
SEE ALSO
HoldPattern
HoldForm
HoldComplete
Unevaluated
HoldAll
HoldAllComplete
HoldFirst
HoldRest
Symbol
Defer
TUTORIALS
Evaluation
Non-Standard Evaluation
MORE ABOUT
Evaluation Control
Expressions
New in 1