Mathematica 9 is now available
Previous section-----Next section

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.

• If the expression is a raw object (e.g., Integer, String, etc.), leave it unchanged.
• Evaluate the head h of the expression.
• 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.
• Unless h has attribute HoldAllComplete strip the outermost of any Unevaluated wrappers that appear in the  .
• Unless h has attribute SequenceHold, flatten out all Sequence objects that appear among the  .
• If h has attribute Flat, then flatten out all nested expressions with head h.
• If h has attribute Listable, then thread through any  that are lists.
• If h has attribute Orderless, then sort the  into order.
• Unless h has attribute HoldAllComplete, use any applicable transformation rules associated with f that you have defined for objects of the form h[ f[ , ... ], ... ].
• Use any built-in transformation rules associated with f for objects of the form h[ f[ , ... ], ... ].
• Use any applicable transformation rules that you have defined for h[ ,  , ... ] or for h[ ... ][ ... ].
• Use any built-in transformation rules for h[ ,  , ... ] or for h[ ... ][ ... ].



Any questions about topics on this page? Click here to get an individual response.Buy NowMore Information
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.