TraceDialog

TraceDialog[expr]

initiates a dialog for every expression used in the evaluation of expr.

TraceDialog[expr,form]

initiates a dialog only for expressions which match form.

TraceDialog[expr,s]

initiates dialogs only for expressions whose evaluations use transformation rules associated with the symbol s.

Details and Options

  • The expression to be evaluated when a dialog is called is given as Out[$Line] of the dialog, wrapped in HoldForm. The expression can be seen by asking for % when the dialog is first started.
  • Any value returned from the dialog is discarded.
  • TraceDialog[expr] returns the result of evaluating expr.

Examples

Basic Examples  (1)

Trace evaluation of an expression, entering a Dialog whenever addition is encountered:

In the dialog you can look at the evaluation stack:

This returns from the first dialog:

Another dialog has started:

In the dialog, you can check evaluations to see if they come out as you expect:

Return from the second dialog. Since there are no more additions, the evaluation will finish:

Introduced in 1991
 (2.0)