SLIME

Last updated
SLIME
Original author Eric Marsden
Developers Luke Gorrie and Helmut Eller
Initial releasemid-2003
Stable release
2.31 [1]   OOjs UI icon edit-ltr-progressive.svg / 2 December 2024;11 months ago (2 December 2024)
Repository
Operating system Linux, Solaris, FreeBSD, NetBSD, OpenBSD, Mac OS X, Microsoft Windows
Available in Emacs Lisp, Common Lisp
Type Source code editor
License Public domain software, [2] portions in GPL v2, LGPL, BSD
Website common-lisp.net/project/slime/

SLIME, the Superior Lisp Interaction Mode for Emacs, is an Emacs mode for developing Common Lisp applications. SLIME originates in an Emacs mode called SLIM written by Eric Marsden. It is developed as an open-source public domain software [2] project by Luke Gorrie and Helmut Eller. Over 100 Lisp developers have contributed code to SLIME since the project was started in 2003.

Contents

SLIME follows a client-server architecture, using a backend called Swank that is loaded into Common Lisp. In that regard, it is similar to the Language Server Protocol, which it predates. Some Common Lisp editors use a LSP client for Common Lisp. [3]

SLIME works with the main Common Lisp implementations, such as:

Other programming languages can leverage SLIME with an editor plugin, or have plugins inspired by SLIME:

Features

SLIME offers an experience of an Integrated Development Environment. Once SLIME is loaded into the editor and the Swank back-end loaded into the running Common Lisp image, it is to be noted that all interactions are made live, interactively, effectively "talking" to the running program and adding features incrementally.

SLIME provides:

Remote use

SLIME, paired with the Swank back-end, allows to connect to a running Lisp program on another machine. [12]

This allows a programmer to inspect the running program, change parameters, or even to load and compile new code, effectively upgrading the system with no down-time.

References

  1. "[NonGNU ELPA] Slime version 2.31". 2 December 2024. Retrieved 6 December 2024.
  2. 1 2 Slime on github.com "License SLIME is free software. All files, unless explicitly stated otherwise, are public domain."
  3. The Alive extension for VSCode: https://github.com/nobody-famous/alive-lsp/
  4. CIDER is originally based on Slime: https://docs.cider.mx/cider/
  5. "swank-js". GitHub . Retrieved 2025-03-05.
  6. https://github.com/slime/slime/blob/master/contrib/slime-scheme.el
  7. https://www.nongnu.org/geiser/
  8. https://github.com/slime/slime/blob/master/contrib/swank-kawa.scm
  9. "swankr". Archived from the original on 2011-03-04. Retrieved 2012-09-11.
  10. "slime/contrib/swank.rb at master · slime/slime". GitHub . Retrieved 2025-03-05.
  11. https://github.com/slime/slime/blob/master/contrib/swank-mit-scheme.scm
  12. https://slime.common-lisp.dev/doc/html/Connecting-to-a-remote-lisp.html#Connecting-to-a-remote-lisp