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

ContentsNon-Standard Argument Evaluation

A.4.1 The Standard Evaluation Sequence

The following is the sequence of steps that Mathematica follows in evaluating an expression like h[, , ... ]. Every time the expression changes, Mathematica effectively starts the evaluation sequence over again.

FilledSmallSquare If the expression is a raw object (e.g., Integer, String, etc.), leave it unchanged.

FilledSmallSquare Evaluate the head h of the expression.

FilledSmallSquare Evaluate each element of the expression in turn. If h is a symbol with attributes HoldFirst, HoldRest, HoldAll or HoldAllComplete, then skip evaluation of certain elements.

FilledSmallSquare Unless h has attribute HoldAllComplete strip the outermost of any Unevaluated wrappers that appear in the .

FilledSmallSquare Unless h has attribute SequenceHold, flatten out all Sequence objects that appear among the .

FilledSmallSquare If h has attribute Flat, then flatten out all nested expressions with head h.

FilledSmallSquare If h has attribute Listable, then thread through any that are lists.

FilledSmallSquare If h has attribute Orderless, then sort the into order.

FilledSmallSquare Unless h has attribute HoldAllComplete, use any applicable transformation rules associated with f that you have defined for objects of the form h[ f[, ... ], ... ].

FilledSmallSquare Use any built-in transformation rules associated with f for objects of the form h[ f[, ... ], ... ].

FilledSmallSquare Use any applicable transformation rules that you have defined for h[, , ... ] or for h[ ... ][ ... ].

FilledSmallSquare Use any built-in transformation rules for h[, , ... ] or for h[ ... ][ ... ].

ContentsNon-Standard Argument Evaluation