Common Lisp
programozási nyelv / From Wikipedia, the free encyclopedia
A Common Lisp a Lisp programozási nyelv egyik dialektusa, amit az "ANSI INCITS 226-1994 (R2004), (korábban X3.226-1994 (R1999))" szabványban publikáltak.[1] Ebből az ANSI Common Lispből származik a Common Lisp HyperSpec webes használatra.[2] A Lisp szabványosításának érdekében alkották meg, hogy összefogja a különböző, főként a MacLisp variánsokat, ezért sokkal inkább specifikáció, mint megvalósítás. Léteznek szabad és kereskedelmi implementációi is.
Common Lisp | |
Paradigma | Multi-paradigma: procedurális, funkcionális, objektumorientált, meta, reflektív, generikus |
Jellemző kiterjesztés | .lisp |
Megjelent | 1984, 1994 for ANSI Common Lisp |
Tervező |
|
Fejlesztő | ANSI X3J13 bizottság |
Típusosság | dinamikus, erős |
Dialektusok | CLtL1, CLtL2, ANSI Common Lisp |
Megvalósítások | Allegro CL, ABCL, CLISP, Clozure CL, CMUCL, Corman Common Lisp, ECL, GCL, LispWorks, Movitz, Scieneer CL, SBCL, Symbolics Common Lisp |
Hatással volt rá | Lisp, Lisp Machine Lisp, MacLisp, Scheme, InterLisp |
Befolyásolt nyelvek | Clojure, Dylan, Emacs Lisp, EuLisp, ISLISP, R, SKILL, SubL |
Operációs rendszer | multi-platform |
Weboldal |
|
Ez a szócikk vagy szakasz lektorálásra, tartalmi javításokra szorul. |
A Common Lisp általános célú multiparadigmás nyelv, ami támogatja a funkcionális, a procedurális és az objektumorientált paradigmákat. Dinamikus tulajdonsága és az iteratív fordítás lehetősége segíti az inkrementális és evolúciós fejlesztést.
Támogatja az opcionális típusannotációkat és a konverziókat, amelyek szükség szerint hozzávehetők a profilozó és az optimalizációs fázisokban. Például a fixnum
tartalmazhat egy egész számot a hardver és az implementáció által támogatott tartományban, amitől hatékonyabbá válnak a nagy számokon vagy a tetszőleges pontosságú számokon végzett műveletek. Hasonlóan, a fordítóval optimize
deklarációkkal modulonként és függvényenként közölhető az alkalmazott biztonsági szint.
A Common Lisp tartalmazza a CLOSt, egy objektumrendszert, ami támogatja a multimetódusokat és a metódusok kombinálását. A nyelv bővítésére erős eszközt adnak a makrók, amelyekkel a program fordítási időben átírhatja magát, és a C makrókhoz hasonlóan működő olvasó makrók, amelyek speciális jelentést adnak egyes karaktersorozatoknak.
Habár a Common Lisp nem annyira népszerű, mint egyes nem Lisp nyelvek, több eszközét átvették más, népszerűbb nyelvek.