CMU Common Lisp
CMU Common Lisp ( CMUCL ) er en gratis implementering af Common Lisp - programmeringssproget til UNIX-lignende operativsystemer, inklusive Linux og FreeBSD, oprindeligt udviklet ved Carnegie Mellon University . Det er forfaderen til den gratis Steel Bank Common Lisp og den kommercielle Scieneer Common Lisp .
Historie
Systemets historie begyndte allerede før fremkomsten af Common Lisp . Det var oprindeligt en del af Spice Lisp, skabt i 1980 på Carnegie Mellon University til 16-bit PERQ-arbejdsstationen, hvis arkitektur gav understøttelse af sprog på højt niveau ved at programmere hardwarekernen i mikrokode . I 1985 blev Python-kompileren oprettet, og CMUCL blev overført til IBM PC RT , MIPS og SPARC-arbejdsstationer , der kører UNIX . Tidlige udgivelser af CMUCL understøttede ikke Intel x86 på grund af kernens inkompatibilitet med denne arkitektur (implementeringen var kritisk afhængig af tilstedeværelsen af et tilstrækkeligt stort udvalg af registre, som ikke findes i x86-familien af processorer).
Efter at universitetet opgav dette projekt til fordel for Dylan , som CMUCL-udviklingerne også blev brugt til, blev vedligeholdelsen af systemet fortsat af samfundet.
I 1996 blev der etableret en regelmæssig udgivelse af systemopdateringer af vedligeholdelsesteamet, samtidig med at det blev overført til x86, oprindeligt til FreeBSD, senere til Linux. Problemet med arkitektonisk inkompatibilitet blev løst ved at skabe en ny skraldeopsamler.
I øjeblikket er systemet i det offentlige domæne, dets vedligeholdelse fortsætter. Den seneste stabile udgivelse (21c) blev udgivet i oktober 2017.
Compiler og runtime moduler
CMUCL indeholder en kildekodefortolker, en bytekodefortolker og en compiler.
- Compiler-til-maskine-koden for CMUCL-målplatformen hedder "Python" (ikke at forveksle med Python-programmeringssproget ). Ifølge forfatterne, med passende kodning (skrivning af et program under hensyntagen til ydeevnekrav og brug af en række formelt valgfrie erklæringer), overstiger de ekstra overheadomkostninger ved udførelse af et CMUCL-kompileret program praktisk talt ikke dem for sprog som C++ .
- Tolken er hovedsageligt beregnet til interaktiv udvikling, men kan også bruges blot til hurtigt at indlæse og udføre Lisp-kode i mangel af strenge hastighedskrav.
- En virtuel maskine til at udføre programmer, der tidligere er konverteret af compileren til kompakt bytekode. Denne funktion bruges sjældent i dag og var populær i systemets tidlige dage, fordi den gjorde det muligt at downloade kode over en langsom internetforbindelse for at køre hurtigere.
Nøglefunktioner
- Effektiv affaldsindsamling og multiprocessing-understøttelse på x86-platformen.
- Interface med ekstern C-kode, direkte adgang til systembiblioteker på de fleste platforme, direkte adgang til systemkald på UNIX.
- Support til kommunikation mellem processer og fjernprocedurekald.
- Implementering af CLOS objektsystemet .
- GUI debugger, profiler.
- Interface til X11 Window System (CLX) med eget bibliotek af grafiske widgets (Garnet).
- Software-udvidelige I/O-streams.
- Hemlock teksteditor (som Emacs ) skrevet i Common Lisp.
Noter
Links
Almindelig Lisp |
---|
Implementeringer |
|
---|
Software | Biblioteker |
- CLSQL
- -HTTP
- CL-PPCRE
- CLX
- jernbeklædt
- Symbolsk Web
- Usædvanligt web
- Weblocks
- Hunchentoot
- AllegroCache
- ASDF
- CLiki
- CLIM
|
---|
Ansøgninger |
- Clfswm
- almindelig musik
- musik
- Almindelig
- ICAD
- InspireData
- PrimeTrader
- Mirai
- Maxima
- openmusic
- PWGL
- Stumpwm
- SiteGrinder
- OASIS
- autopris
|
---|
Udviklingsmiljøer |
|
---|
|
---|
Publikationer |
- Sproget
- Paradigmer for AI-
- protokollens kunst
- På
- Praktisk almindelig
- Objektorienteret programmering i Common
|
---|
designudvalget |
|
---|
Andet |
|
---|