Zum Inhalt springen

SLIME

aus Wikipedia, der freien Enzyklopädie
Datei:Slime-small.png
SLIME-Logo

SLIME (The Superior Lisp Interaction Mode for Emacs) ist eine freie Entwicklungsumgebung für Common Lisp basierend auf dem Emacs-Editor. SLIME ist gemeinfrei<ref>README in der SLIME Distribution</ref>.

Geschichte

Die Entwicklung von SLIME begann im August 2003<ref><templatestyles src="Webarchiv/styles.css" />{{#if:20140221121606

      | {{#ifeq: 20140221121606 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Couple of Emacs hacks | {{#invoke:WLink|getEscapedTitle|Couple of Emacs hacks}} | {{#invoke:Webarchiv|getdomain|http://osdir.com/ml/lisp.cmucl.devel/2003-08/msg00302.html}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20140221121606}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Couple of Emacs hacks | {{#invoke:WLink|getEscapedTitle|Couple of Emacs hacks}} | {{#invoke:Webarchiv|getdomain|http://osdir.com/ml/lisp.cmucl.devel/2003-08/msg00302.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2018-12-11 11:40:25 InternetArchiveBot | 2018-12-11 11:40:25 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20140221121606}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Couple of Emacs hacks | {{#invoke:WLink|getEscapedTitle|Couple of Emacs hacks}} | {{#invoke:Webarchiv|getdomain|http://osdir.com/ml/lisp.cmucl.devel/2003-08/msg00302.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2018-12-11 11:40:25 InternetArchiveBot | 2018-12-11 11:40:25 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Couple of Emacs hacks | {{#invoke:WLink|getEscapedTitle|Couple of Emacs hacks}} | {{#invoke:Webarchiv|getdomain|http://osdir.com/ml/lisp.cmucl.devel/2003-08/msg00302.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2018-12-11 11:40:25 InternetArchiveBot | 2018-12-11 11:40:25 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Couple of Emacs hacks | {{#invoke:WLink|getEscapedTitle|Couple of Emacs hacks}} | {{#invoke:Webarchiv|getdomain|http://osdir.com/ml/lisp.cmucl.devel/2003-08/msg00302.html}} }} (Memento{{#if: {{#if: 2018-12-11 11:40:25 InternetArchiveBot | 2018-12-11 11:40:25 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Couple of Emacs hacks | {{#invoke:WLink|getEscapedTitle|Couple of Emacs hacks}} | {{#invoke:Webarchiv|getdomain|http://osdir.com/ml/lisp.cmucl.devel/2003-08/msg00302.html}} }}  
                 }}}}}}}}{{#if:2018-12-11 11:40:25 InternetArchiveBot
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20140221121606|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://osdir.com/ml/lisp.cmucl.devel/2003-08/msg00302.html}}
    || {{#if:  || }}
  }}{{#if: Couple of Emacs hacks
    | {{#if: {{#invoke:WLink|isBracketedLink|Couple of Emacs hacks}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://osdir.com/ml/lisp.cmucl.devel/2003-08/msg00302.html%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://osdir.com/ml/lisp.cmucl.devel/2003-08/msg00302.html%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://osdir.com/ml/lisp.cmucl.devel/2003-08/msg00302.html }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }} auf lisp.cmucl.devel</ref>, als eine von Eric Marsden geschriebene Erweiterung zu SLIM<ref>SLIME History</ref>. Die Entwicklung wurde daraufhin von Luke Gorrie und Helmut Eller übernommen. Zahlreiche weitere Programmierer haben mittlerweile Code zu SLIME beigetragen<ref>https://common-lisp.net/project/slime/doc/html/Credits.html#Credits</ref>. Im April 2006 wurde die derzeit aktuelle Version 2.0 veröffentlicht. An der Entwicklung für eine Version 3.0 wird aktiv gearbeitet<ref>NEWS in der SLIME Distribution</ref>.

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.<ref>https://common-lisp.net/project/slime/doc/html/Introduction.html#Introduction</ref> 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.<ref name="platforms">https://common-lisp.net/project/slime/#platforms</ref>

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

      | {{#ifeq: 20110304092034 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: swankr | {{#invoke:WLink|getEscapedTitle|swankr}} | {{#invoke:Webarchiv|getdomain|http://common-lisp.net/~crhodes/swankr/}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20110304092034}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: swankr | {{#invoke:WLink|getEscapedTitle|swankr}} | {{#invoke:Webarchiv|getdomain|http://common-lisp.net/~crhodes/swankr/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2023-01-04 21:58:35 InternetArchiveBot | 2023-01-04 21:58:35 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20110304092034}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: swankr | {{#invoke:WLink|getEscapedTitle|swankr}} | {{#invoke:Webarchiv|getdomain|http://common-lisp.net/~crhodes/swankr/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2023-01-04 21:58:35 InternetArchiveBot | 2023-01-04 21:58:35 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: swankr | {{#invoke:WLink|getEscapedTitle|swankr}} | {{#invoke:Webarchiv|getdomain|http://common-lisp.net/~crhodes/swankr/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2023-01-04 21:58:35 InternetArchiveBot | 2023-01-04 21:58:35 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: swankr | {{#invoke:WLink|getEscapedTitle|swankr}} | {{#invoke:Webarchiv|getdomain|http://common-lisp.net/~crhodes/swankr/}} }} (Memento{{#if: {{#if: 2023-01-04 21:58:35 InternetArchiveBot | 2023-01-04 21:58:35 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: swankr | {{#invoke:WLink|getEscapedTitle|swankr}} | {{#invoke:Webarchiv|getdomain|http://common-lisp.net/~crhodes/swankr/}} }}  
                 }}}}}}}}{{#if:2023-01-04 21:58:35 InternetArchiveBot
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20110304092034|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://common-lisp.net/~crhodes/swankr/}}
    || {{#if:  || }}
  }}{{#if: swankr
    | {{#if: {{#invoke:WLink|isBracketedLink|swankr}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://common-lisp.net/~crhodes/swankr/%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://common-lisp.net/~crhodes/swankr/%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://common-lisp.net/~crhodes/swankr/ }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}</ref>

Weblinks

[{{canonicalurl:Commons:Category:{{#if:|{{{1}}}|SLIME}}|uselang=de}} Commons: {{#if:|{{{2}}}|{{#if:|{{{1}}}|{{#invoke:WLink|getArticleBase}}}}}}]{{#switch:1

|X|x= |0|-= |S|s= – Sammlung von Bildern |1|= – Sammlung von Bildern{{#if:

    | {{#switch: {{#invoke:TemplUtl|faculty|1}}/{{#invoke:TemplUtl|faculty|1}}
        |1/=  und Videos
        |1/1=, Videos und Audiodateien
        |/1=  und Audiodateien}}
    | , Videos und Audiodateien
  }}

|#default= – }}{{#if:

   | {{#ifeq: {{#invoke:Str|left||9}} 
       | category: 
| FEHLER: Ohne Category: angeben!}}}}

Vorlage:Wikidata-Registrierung

Einzelnachweise

<references />