EditorDoc Sections Nuprl Doc
IF YOU CAN SEE THIS go to /sfa/Nuprl/Shared/Xindentation_hack_doc.html
Editing Let Forms.
`let' will insert
let[,rec,ref,type] <ml>  <ml> in <ml>

or
let[,rec,ref,type] <ml> <ml> ;;

depending on whether you are in a context that requires an ML command as opposed to an expression, mainly whether the point is on one of the immediate subterms of
<ml> ;; or <ml cmds>
<ml cmds>
.

If you insert on top of a term, it will go into the
place specifying the binding value in normal left-to-right mode. If you insert the local-let form in right-to-left mode, the term will go into the body of the let-form instead. The left/right insertion mode is toggled with `{(c-w)(m-w)(c-i)}'.
`glet' will insert the global let-form directly.

You may fill in the text slot indicating the kind of declaration you are making; `{(tab)(return)}' will fill the text slot with the empty string, indicating the ordinary binding, so `let'`{(tab)(return)}' is the most common combination.

`(backspace)' when the point is on the Let form will cycle through the several choices permitted for this string.

You can also toggle between the global and local Let forms with `(c-a)(c-(backspace))'. This is particularly useful when you want to develop or modify a function before binding it to a global variable.

Linear forms for Global-Let and Zooming.

In order to save visual space, global-lets have two forms. One is displayed linearly, and will elide the body if necessary. This linear form is considered the normal one for completed global definitions, since we tend to have a lot of them in one object. You can force this form of declaration to be fully shown throughout window with the `(c-s)' command, but that can be a problem when editing an object with more than a couple of these.
The normal way to convert from the linear to the full-display form of global-let is simply to zoom on the let-form, whereas unzooming will convert the form back to linear. So if you wind up with a non-linear form of global-let in a larger term and want the linear form, just zoom on it then unzoom.
The usual zooming commands will work, but also `(mouseleft)' on a linear-form of global let will do the zoom. doc for point focus
IF YOU CAN SEE THIS go to /sfa/Nuprl/Shared/Xindentation_hack_doc.html
EditorDoc Sections Nuprl Doc