[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Spelling correction

Common Lisp deliberately specifies very little about the top-level
command loop.  This is so that many "cultures" (styles of dealing with
the machine) can be supported on top of a common language that allows
code packages to be shared.

The overwhelming majority of Common Lisp implementors and users, at
least at the start, come from the Maclisp tradition in which code is
created by the use of some text editor, usually Emacs-like and usually
written in the Lisp itself.  CMU's Hemlock editor is a public-domain
implementation of such a thing.  It is not 100% portable, since it
depends on the host system's screen management, but the majority of
Common Lisp vendors who do not already have a good Emacs implementation
on their machines are importing Hemlock.  Most of these Emacs-like
systems provide the user with an editor top-level mode, in which
expressions are created within the editor and then are passed into the
Lisp for evaluation.  This provides full editing power (including
spelling correction, word abbreviation mode, and the like) plus a buffer
that records the history of the session.  Instead of using a specialized
mechanism for repeating and altering earlier commands, you just grab
what you want from the buffer and fix it up before transmitting it to
the Lisp.

Anyone who is more comfortable with the Interlisp style of structure
editing, DWIM, Masterscope, history, etc., is free to implement this on
top of Common Lisp, and I suspect that at least one manufacturer is
going to follow this route (though I hope they eventually provide a
Hemlock-style interface as well).

One could argue the merits of the two styles, but the point for Common
Lisp is that they can coexist happily and that we don't need to
standardize on either of them.  Portable code lives below this level.

-- Scott