yields an object that displays as the unevaluated form of expr, but that is evaluated if it is explicitly given as Wolfram Language input.
- 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.
Introduced in 2007