The trace-mood can be entered by the user by means of a trace-command (<#8099#>t<#8099#>). It can also be entered from a program by a call of <#8100#>assert<#8100#> (see appendix A.10). In the trace-mood, which is indicated by <#8101#>Trace command, please...<#8101#> on the status line, the executor lists every unit before executing it, and asks for a command as follows:
The Elan Programming Environment switches to the backtrace-mood.
The remainder of the program is executed without trace.
Execution is terminated, and the definition that contains the current unit is offered for local editing.
The body of the current unit is executed in trace mode.
All the remaining units (entered by the last next-command) are executed (without trace), if the body yields a result this is displayed and the trace-mood is re-entered.
Return to the command mode.
A known name (may be abbreviated) is asked and the definition and the definition of that name is displayed.
The body is executed (without trace), its result (if any) is displayed and trace-mood is re-entered.
At the end of each body the executor waits again for a valid trace-command.