If the lisp file ml-cmd is loaded at a lisp prompt in the shell window before starting up Nuprl 's window system (or after resetting it by evaluating the Lisp expression (reset) ), then starting up Nuprl does not cause the creation of an ML-top-loop window, and instead, an ML top loop to be established in the shell window.
The ML prompt in the shell is ML> . ML expressions typed at this prompt should be terminated with ;; RETURN to have them evaluated.
Input focus must be manually transferred between the shell window and Nuprl 's own windows: to transfer from the shell to Nuprl , use x RETURN . To transfer back, use TAB . To move from Lisp to the ML prompt, evaluate (nuprl) at the Lisp prompt as before, and to move back to Lisp, evaluate exit() RETURN at the ML prompt.
Of course, none of the term-editing facilities are available at this ML prompt.
Though rather rudimentary, this top loop is sometimes useful. For example, when developing ML code, ML expressions and declarations for evaluation can be cut and pasted into this top loop.
To work with both kinds of top loop, view the comment object cmd. This contains an ML prompt term, and functions virtually exactly as the term-editor top loop described above.
In general, ML prompt terms can be copied into other term editor objects, and they still function as top loops. It is straightforward to set up objects that contain sequences of prompts already initialized with frequently evaluated ML expressions.
If you want to switch back to having a dedicated top loop window and no top loop in the shell window, then reset Nuprl , load the file ml-edit-cmd and restart Nuprl .