Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

SLIME

From Wikipedia, the free encyclopedia
For other uses, seeSlime.
SLIME
Original authorEric Marsden
DevelopersLuke Gorrie
Helmut Eller
Initial releasemid-2003
Stable release
2.32[1] Edit this on Wikidata / 8 December 2025; 2 months ago (8 December 2025)
Operating systemLinux,Solaris,FreeBSD,NetBSD,OpenBSD,Mac OS X,Windows
Available inEmacs Lisp,Common Lisp
TypeSource code editor
LicensePublic domain software,[2] portions inGPL v2,LGPL,BSD
Websitecommon-lisp.net/project/slime/
Repository

SLIME, theSuperior Lisp Interaction Mode for Emacs, is anEmacs mode for developingCommon Lisp applications. SLIME originates in an Emacs mode called SLIM written by Eric Marsden. It is developed as anopen-sourcepublic 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.

SLIME follows a client-server architecture, using a backend called Swank that is loaded into Common Lisp. In that regard, it is similar to theLanguage 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

[edit]

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

SLIME provides:

  • code completion
  • code compilation (compile the function at point, a region, a file, a project)
  • compilation notes highlighted in source buffer and gathered in a dedicated buffer
  • code evaluation
  • documentation lookup
  • an interactive object inspector
  • definition finding
  • a powerful interactive debugger, which lets the programmer inspect the call stack, fix and recompile a function while the debugger is open and execution is paused, then resume execution from any point in the stack
  • the use of restarts in the debugger
  • a stepper
  • macro expansion
  • automatic macro indentation
  • cross references: find who calls a function or macro, who sets a symbol, who depends on a symbol, who references one, who specializes a method, who macroexpands a macro
  • manipulating objects through "presentations"
  • automatic export of symbols
  • calling the function at point in the REPL
  • shortcut commands (print the current working directory, find and install a Quicklisp package, etc.)
  • a trace facility
  • disassembly commands

Remote use

[edit]

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

[edit]
  1. ^"Release 2.32". 8 December 2025. Retrieved10 December 2025.
  2. ^abSlime ongithub.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. Retrieved2025-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 fromthe original on 2011-03-04. Retrieved2012-09-11.
  10. ^"slime/contrib/swank.rb at master · slime/slime".GitHub. Retrieved2025-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

External links

[edit]
Implementations
GNU andderivative
GNU/Emacs Logo
Modes
Internals
Community
Organizations
People
Other
Implementations
Software
Libraries
Applications
Development
environments
Publications
Design committee
People
Other
Stub icon

Thisprogramming-tool-related article is astub. You can help Wikipedia byadding missing information.

Retrieved from "https://en.wikipedia.org/w/index.php?title=SLIME&oldid=1338077575"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp