Emacs has facilities for running programs in other Lisp systems. You can
run a Lisp process as an inferior of Emacs, and pass expressions to it to
be evaluated. You can also pass changed function definitions directly from
the Emacs buffers in which you edit the Lisp programs to the inferior Lisp
process.

To run an inferior Lisp process, type M-x run-lisp. This runs
the program named lisp, the same program you would run by typing
lisp as a shell command, with both input and output going through
an Emacs buffer named *lisp*. That is to say, any "terminal
output" from Lisp will go into the buffer, advancing point, and any
"terminal input" for Lisp comes from text in the buffer. (You can
change the name of the Lisp executable file by setting the variable
inferior-lisp-program.)

To give input to Lisp, go to the end of the buffer and type the input,
terminated by RET. The *lisp* buffer is in Inferior Lisp
mode, which combines the special characteristics of Lisp mode with most
of the features of Shell mode (Section 31.15.3). The definition of
RET to send a line to a subprocess is one of the features of Shell
mode.

For the source files of programs to run in external Lisps, use Lisp
mode. This mode can be selected with M-x lisp-mode, and is used
automatically for files whose names end in .l, .lsp, or
.lisp, as most Lisp systems usually expect.

When you edit a function in a Lisp program you are running, the easiest
way to send the changed definition to the inferior Lisp process is the key
C-M-x. In Lisp mode, this runs the function lisp-eval-defun,
which finds the defun around or following point and sends it as input to
the Lisp process. (Emacs can send input to any inferior process regardless
of what buffer is current.)

Contrast the meanings of C-M-x in Lisp mode (for editing programs
to be run in another Lisp system) and Emacs-Lisp mode (for editing Lisp
programs to be run in Emacs): in both modes it has the effect of installing
the function definition that point is in, but the way of doing so is
different according to where the relevant Lisp environment is found.
Section 25.6.