SLIME
# SLIME

SLIME (The Superior Lisp Interaction Mode for Emacs) ist eine freie Entwicklungsumgebung für Common Lisp basierend auf dem Emacs-Editor. SLIME ist gemeinfrei.

## Geschichte

Die Entwicklung von SLIME begann im August 2003, als eine von Eric Marsden geschriebene Erweiterung zu SLIM. Die Entwicklung wurde daraufhin von Luke Gorrie und Helmut Eller übernommen. Zahlreiche weitere Programmierer haben mittlerweile Code zu SLIME beigetragen. Im April 2006 wurde die derzeit aktuelle Version 2.0 veröffentlicht. An der Entwicklung für eine Version 3.0 wird aktiv gearbeitet.

## Architektur

SLIME besteht aus zwei Teilen: Der Benutzerschnittstelle, die auf Emacs basiert und in Emacs Lisp geschrieben ist, und der Compilerschnittstelle SWANK, die in Common Lisp implementiert ist. Die Benutzerschnittstelle und die Compilerschnittstelle kommunizieren dabei über ein eigenes RPC-Protokoll. Diese Architektur erlaubt es, mehrere Common-Lisp-Implementierungen gleichzeitig zu benutzen und die Benutzung von Common-Lisp-Implementierungen über ein Rechnernetz.

## Unterstützte Common Lisp-Implementierungen

SLIME wurde zunächst für die CMU-Common-Lisp-Implementierung geschrieben, unterstützt mittlerweile jedoch diverse freie und kommerzielle Lisp-Compiler. Da SLIME auf Emacs Lisp und Common Lisp basiert, ist die Portabilität nur abhängig von der Verfügbarkeit von Emacs und einer unterstützten Common-Lisp-Implementierung. SLIME läuft unter anderem auf diversen Unices, Linux, Windows und Mac OS X.

* CMU Common Lisp (CMUCL)
* Steel Bank Common Lisp (SBCL)
* Clozure CL (früher bekannt als OpenMCL)
* LispWorks
* Allegro Common Lisp
* GNU CLISP
* Scieneer Common Lisp
* Embeddable Common Lisp (ECL)
* CormanLisp
* Armed Bear Common Lisp (ABCL)

Mittlerweile unterstützt SLIME neben Common Lisp auch andere Programmiersprachen:

* JavaScript
* GNU R
* Scheme
