
SLIME (en anglais Superior Lisp Interaction Mode for Emacs) est un mode Emacs pour développer des applications en Common Lisp avec GNU Emacs ou certaines variantes.
SLIME est développé depuis 2003 sous la forme d'un projet de logiciel libre et a attiré depuis les contributions d'une centaine de programmeurs.
SLIME fonctionne avec une architecture client-serveur, de manière similaire au LSP (Language Server Protocol), que SLIME précède de plusieurs années. SLIME est une extension écrite en Emacs Lisp qui communique avec le module Swank, qui est lui chargé dans l'image Common Lisp. Des appels de commande ou des raccourcis claviers effectués dans l'éditeur induisent des changements incrémentaux dans le programme Lisp en cours d'utilisation.
D'autres langages que Common Lisp (tels que R, Scheme, Clojure ou encore JavaScript) disposent d'une prise en charge par SLIME, dans les limites des capacités du langage hôte.
SLIME offre des fonctionnalités typiques des environnements de développement intégrés, telles que :
L'architecture choisie permet de se connecter à un programme distant qui aura démarré un serveur Swank, depuis le confort de son éditeur sur sa machine locale.
Cela permet d'inspecter le programme, de changer des paramètres, voire de charger et de compiler du nouveau code, et ainsi de mettre à jour son système, sans l'arrêter.