Next: , Previous: , Up: Packages   [Index]


12.4 Slime

“The Superior Lisp Interaction Mode for Emacs”

resources/images/slime-small

SLIME Internals

SLIME is constructed from two parts: a user-interface written in Emacs Lisp, and a supporting server program written in Common Lisp. The two sides are connected together with a socket and communicate using an RPC-like protocol.

The Lisp server is primarily written in portable Common Lisp. The required implementation-specific functionality is specified by a well-defined interface and implemented separately for each Lisp implementation. This makes SLIME readily portable.

About SLIME Mode

Slime Mode

An Emacs minor-mode to enhance lisp-mode with:

  • Code evaluation, compilation, and macroexpansion.
  • Online documentation (describe, apropos, hyperspec).
  • Definition finding (aka Meta-Point aka M-.).
  • Symbol and package name completion.
  • Automatic macro indentation based on &body.
  • Cross-reference interface (WHO-CALLS, etc).
SLDB

Common Lisp debugger with an Emacs-based user interface.

REPL

The Read-Eval-Print Loop ("top-level") is written in Emacs Lisp for tighter integration with Emacs. The REPL also has builtin "shortcut" commands similar those of the McCLIM listener.

Compilation notes

SLIME is able to take compiler messages and annotate them directly into source buffers.

Inspector

Interactive object-inspector in an Emacs buffer.

Compatible Implementations
  • CMU Common Lisp (CMUCL)
  • Steel Bank Common Lisp (SBCL)
  • Clozure CL (a.k.a. OpenMCL)
  • LispWorks
  • Allegro CL
  • CLISP
  • Scieneer CL
  • ECL
  • Corman CL
  • ABCL

Next: Polymode, Previous: UsePackage, Up: Packages   [Index]