Subject: GUI

Keywords: ::emacs
          ::overview
          ::usage

Title: nuprl process emacs toploop.

--------------------------------------------------

See emacs for more general information about how emacs is used with nuprl.
 
Nuprl processes will have toplop in lisp session. Generally, the 
nuprl toploop is started automatically when the nuprl disksave is run. 
However, it can be started at at lisp prompt by evaluating "(top)". The 
toploop is generally run in an emacs buffer. The main reason for using emacs
is that is makes it easy to inspect and search the messages printed by the
refiner. In the future, we may switch to running directly at shell prompt
with output tee'd to log file.

Note that there is toploop in the nuprl editor. See Interactive TopLoop.
The editor toploop should be used in preference to the process toploop when
appropriate. 

Initially the toploop prompt will be "ML[(ORB)]> ". You can evaluate arbitrary
ML expressions termintated by double semicolons. You can also enter commands. 
Commands are single words followed by ".". To cause the process to connect
to the nuprl library using parameters from your ~/.nuprl you would enter "go.".
You can use "lisp." and "ML." to switch between ML and LISP interpreters.

For an expression to be evaluated it must be have balanced delimiters and
be termintated with ";;". If you enter an incomplete expression the toploop
will get hung up waiting for more input to complete the expression. This in
turn can hang the entire process. If things freeze up it's worth appending
";;<enter>to the toploop in case some stray input was inadvertantly entered.

Once you've hit "<enter>it can't be taken back. Backspacing may remove
the characters from the display, but the interpreter is going to see them
anyways. If you've entered something incorrectly, then you need to finish
the input so that delimiters are balanced and then ";;<enter>to get an
error message and fresh prompt.

In emacs buffer, (m-p) will bring back previous expressions.

Once process is connected to Nuprl, then you can evaluate expressions 
using functions defined by the code loaded from Nuprl. For refiner enter
"ref." to access the refiner functions, and in an editor use "edd.".
The prompt will change to reflect the requested environment. 
Beware, functions defined in Nuprl objects may not be defined at the
ORB prompt. 

After connecting an editor, you need to enter command "win." to get the 
windows to open. 

By default, any expressions evaluated are done locally without the ability
to alter the nuprl library. You can use "g." to switch to global mode if
you need to change objects from the toploop. Global mode is indicated
by reversing the square brackets in the prompt, eg "ML](edd)[> is global
mode in editor.

The emacs toploop is optional. If the toploop is not running you can
eval (toploop) at the lisp prompt of the *inferior-lisp* emacs buffer to
start the toploop. To exit the toploop use the "x." command. 

   


--------------------------------------------------

Authors: RICH:t

Contributors: NUPRL:t



Home