The ML-Top-Loop
is configured to support a sequence
of ML prompts. Prompts can be inserted and deleted using the usual
sequence commands described in Section
.
With more than one prompt, there are several alternatives
for evaluating an ML expression . The relevant commands are summarized
in Table
.
Table: Additional Top Loop Commands
the effect of RETURN (now ML-EVAL-SCROLL-UPDATE) is to evaluate the ML text in the prompt containing the cursor, echo the result of the valuation in a field just beyond the prompt, and then scroll the sequence up one prompt so that the topmost prompt is deleted and a fresh prompt is added at the bottom.
ML-EVAL-SCROLL is like ML-EVAL-SCROLL-UPDATE except that the result of evaluation is not reported. This is useful when for instance you don't care about the value of the evaluation, or the display of the result would be rather large and would undesirably alter the formatting of the ML-Top-Loop window.
ML-EVAL-UPDATE is like ML-EVAL-SCROLL-UPDATE except that the prompt sequence isn't scrolled.
With ML-EVAL the ML expression at the prompt is evaluated and left in place. The output isn't inserted after the prompt and the prompt sequence is not scrolled.
The above commands can be used to evaluate the ML expression at any ML prompt in a prompt sequence, not just the last one. New output text generated by evaluating a command overwrites old output text.
The result of every ML expression evaluation is always also echoed to the shell window from which Nuprl is started up. Also, every evaluated expression is still always inserted onto the history list and still always can be retrieved using the history scrolling commands.