CMU Common Lisp
A CMU Common Lisp ( CMUCL ) a Common Lisp programozási nyelv ingyenes megvalósítása UNIX-szerű operációs rendszerekhez, beleértve a Linuxot és a FreeBSD-t is, amelyet eredetileg a Carnegie Mellon Egyetemen fejlesztettek ki . Az ingyenes Steel Bank Common Lisp és a kereskedelmi Scieneer Common Lisp őse .
Történelem
A rendszer története még a Common Lisp megjelenése előtt kezdődött . Eredetileg a Spice Lisp része volt, amelyet 1980-ban hoztak létre a Carnegie Mellon Egyetemen a 16 bites PERQ munkaállomáshoz, amelynek architektúrája magas szintű nyelvek támogatását biztosította a hardvermag mikrokódba programozásával . 1985-ben létrehozták a Python fordítót, és a CMUCL-t áthelyezték UNIX -ot futtató IBM PC RT , MIPS és SPARC munkaállomásokra . A CMUCL korai kiadásai nem támogatták az Intel x86 -ot, mivel a kernel nem kompatibilis ezzel az architektúrával (a megvalósítás kritikusan függött a kellően nagy regisztertömb meglététől, ami nem található meg az x86 processzorcsaládban).
Miután az egyetem felhagyott ezzel a projekttel a Dylan javára , amelyhez a CMUCL fejlesztéseket is felhasználták, a rendszer karbantartását a közösség folytatta.
1996-ra a karbantartó csapat bevezette a rendszerfrissítések rendszeres kiadását, ezzel egy időben portolták x86-ra, kezdetben FreeBSD-re, később Linuxra. Az építészeti összeférhetetlenség problémáját egy új szemétgyűjtő kialakításával oldották meg.
Jelenleg a rendszer nyilvános, karbantartása folytatódik. A legújabb stabil kiadás (21c) 2017 októberében jelent meg.
Fordító és futásidejű modulok
A CMUCL tartalmaz egy forráskód értelmezőt, egy bájtkód értelmezőt és egy fordítót.
- A CMUCL célplatform gépi kódjára fordítójának neve "Python" (nem tévesztendő össze a Python programozási nyelvvel ). A szerzők szerint megfelelő kódolással (a teljesítménykövetelményeket figyelembe vevő program megírása és számos formálisan opcionális deklaráció használata) a CMUCL-lel lefordított program végrehajtásának többletköltsége gyakorlatilag nem haladja meg a C++- hoz hasonló nyelvek költségeit .
- Az interpreter elsősorban interaktív fejlesztésre szolgál, de szigorú sebességi követelmények hiányában egyszerűen Lisp kód gyors betöltésére és végrehajtására is használható.
- Virtuális gép a fordító által korábban kompakt bájtkóddá konvertált programok végrehajtására. Ezt a funkciót manapság ritkán használják, és a rendszer kezdeti időszakában népszerű volt, mert lehetővé tette a kód letöltését lassú internetkapcsolaton keresztül a gyorsabb működés érdekében.
Főbb jellemzők
- Hatékony szemétgyűjtés és többfeldolgozási támogatás az x86 platformon.
- Interfész külső C kóddal, közvetlen hozzáférés a rendszerkönyvtárokhoz a legtöbb platformon, közvetlen hozzáférés a rendszerhívásokhoz UNIX-on.
- Folyamatközi kommunikáció és távoli eljáráshívások támogatása.
- A CLOS objektumrendszer megvalósítása .
- GUI hibakereső, profilkészítő.
- Interfész az X11 ablakrendszerrel (CLX) saját grafikus widget-könyvtárral (Garnet).
- Szoftverrel bővíthető I/O adatfolyamok.
- Hemlock szövegszerkesztő (mint az Emacs ), Common Lisp-ben írva.
Jegyzetek
Linkek
Közönséges Lisp |
---|
Megvalósítások |
|
---|
Szoftver | Könyvtárak |
- CLSQL_
- -HTTP
- CL-PPCRE
- CLX
- páncélos
- Szimbolikus web
- Nem gyakori web
- Webblokkok
- Hunchentoot
- AllegroCache
- ASDF
- CLiki
- CLIM_
|
---|
Alkalmazások |
|
---|
Fejlesztési környezetek |
|
---|
|
---|
Publikációk |
- the Language
- paradigmái
- Protokoll művészete
- _
- Gyakorlati Közös
- Objektum-orientált programozás a Common
|
---|
tervezőbizottság |
|
---|
Egyéb |
|
---|