This is documentation for Mathematica 3, which was
based on an earlier version of the Wolfram Language.
 Trace Trace[ expr ] generates a list of all expressions used in the evaluation of expr. Trace[ expr , form ] includes only those expressions which match form. Trace[ expr , s ] includes all evaluations which use transformation rules associated with the symbol s. In general, form in Trace[ expr , form ] is compared both with each complete expression that is evaluated, and with the tag associated with any transformation rule used in the evaluation. Trace[ expr , lhs -> rhs ] picks out expressions which match lhs, then replaces them with rhs in the list returned. All expressions in the list returned by Trace are wrapped in HoldForm. Trace returns a set of nested lists. Each individual list corresponds to a single evaluation chain, which contains the sequence of forms found for a particular expression. The list has sublists which give the histories of subsidiary evaluations. Example: Trace[2 3 + 4]. The following options can be given: During the execution of Trace, the settings for the form argument, and for the options TraceOn and TraceOff, can be modified by resetting the values of the global variables \$TracePattern, \$TraceOn and \$TraceOff, respectively. See the Mathematica book: Section 2.5.4, Section 2.5.10. See also: TraceDialog, TracePrint, TraceScan. Further Examples This show the order of operations in a simple arithmetic expression. In[1]:= Out[1]= Here is the recursive definition of the Fibonacci numbers. In[2]:= Here are the end conditions for the recursion. In[3]:= Out[3]= This tells Trace to return only the arguments of fib used in the evaluation of fib[5]. In[4]:= Out[4]= This shows all occurrences of fib in the evaluation of fib[3]. In[5]:= Out[5]=