Defer

Defer[expr]
yields an object that displays as the unevaluated form of expr, but that is evaluated if it is explicitly given as Wolfram Language input.

DetailsDetails

  • Defer[expr] returns an object that remains unchanged until it is explicitly supplied as Wolfram Language input and evaluated using Shift+Return, Evaluate in Place, etc.
  • Defer gives an object whose evaluation is merely deferred until it is explicitly given as Wolfram Language input; HoldForm gives an object that is never evaluated.
  • If an object contains several levels of nested Defer constructs, one level is removed each time the object is evaluated as Wolfram Language input.
  • Defer prevents evaluation, not formatting. Objects such as Grid and Manipulate will still format in StandardForm in the usual way when wrapped in Defer.

ExamplesExamplesopen allclose all

Basic Examples  (2)Basic Examples  (2)

By default, arguments are evaluated:

In[1]:=
Click for copyable input
Out[1]=

Use Defer to display an unevaluated form:

In[2]:=
Click for copyable input
Out[2]=

Copy the previous output and evaluate:

In[3]:=
Click for copyable input
Out[3]=

Use Defer to create cells with unevaluated contents:

In[1]:=
Click for copyable input
In[2]:=
Click for copyable input
In[3]:=
Click for copyable input
In[4]:=
Click for copyable input
In[5]:=
Click for copyable input
In[6]:=
Click for copyable input
Introduced in 2007
(6.0)