Seznam programovacích jazyků rodiny Lisp - List of Lisp-family programming languages
The funkční programovací jazyk Lisp je druhý nejstarší programovací jazyk na vysoké úrovni s přímými potomky a blízce příbuzní dialekty ještě dnes velmi rozšířené. Jazyk Fortran je starší o jeden rok.[1][2] Lisp se stejně jako Fortran od svých počátků hodně změnil a v jeho historii existovalo mnoho dialektů. Dnes jsou nejznámějšími dialekty Lisp pro všeobecné účely Společný Lisp a Systém.
Jazyk | Začal rok | Vytvořil (at) | Komentáře | Reference |
---|---|---|---|---|
ACL2 | 1990 | Robert Boyer, J Moore, Matt Kaufmann | Výpočtová logika pro Applicative Common Lisp se skládá z a programovací jazyk, rozšiřitelná teorie v a logika prvního řádu a mechanické věta prover | [3] |
Oblouk | 2008 | Paul Graham | Dialekt Lispu vyvinutého Paul Graham a Robert Morris | [4] |
AutoLISP | 1986 | David Betz | Postaveno pro zahrnutí a použití s plnou verzí AutoCAD a jeho deriváty | [5] |
BBN LISP | 1966 | BBN | Na základě L. Peter Deutsch Implementace Lispu pro PDP-1, který byl vyvinut v letech 1960 až 1964; jazyk v čase byl rozšířen, dokud se v roce 1966 nestal samostatným dialektem; později přejmenován na Interlisp | [6] |
Chez Scheme | 1985 | R. Kent Dybvig | Schéma dialekt | |
Kuře | 2000 | Felix Winkelmann | Schéma dialekt | |
Clojure | 2007 | Rich Hickey | Lispský dialekt, zdůrazňuje Funkcionální programování; běží dál Virtuální stroj Java, Common Language Runtime, a JavaScript motory; stejně jako ostatní Lispy zachází s kódem jako s daty (homoikonicita ) a má makro Systém | [7] |
ANSI Společný Lisp | 1994 | ANSI X3J13 výbor | Common Lisp vylepšený a standardizovaný, publikovaný v ANSI standardní dokument ANSI INCITS 226-1994; k vlastnostem Common Lisp, přidává smyčka makro a Společný systém objektů Lisp (CLOS) poskytnout objektově orientované programování paradigma s hromadné odeslání (multimetody) a kombinace metod; běží na mnoha platformách: Unix, Linux, Operační Systém Mac, Okna, JVM, JavaScript, Unix / C, LLVM /C ++, Android, iOS | [8] |
Společný Lisp | 1984 | Lispský dialekt nejprve standardizovaný v knize, “Společný jazyk Lisp ", od Guy L. Steele,[9] vyvinut jako standardizovaný a vylepšený nástupce Maclisp; staticky a dynamicky rozsahem; silným typem, umožňuje (volitelně) deklarace typu;[10] oddělené jmenné prostory pro funkce versus datové proměnné, vlastnost často pojmenovaná Lisp-2; objektově orientované programování je možné prostřednictvím knihoven, jako je Příchutě, Společné smyčky a později CLOS; považuje kód za data (homoikonicita ) a má makro Systém; The čtenář je rozšiřitelný prostřednictvím čtecí makra[10] | [8] | |
Dylan | 1992 | Počítač Apple | Většinou založený na schématu a Common Lisp, byl navržen jako systémový a aplikační programovací jazyk společností Apple; nejprve použit k napsání operačního systému a aplikací pro interní prototypy později vydaného počítače Apple Newton; první oficiální verzi Apple Dylan také měl s-výraz založená syntaxe; Apple při vývoji tohoto jazyka spolupracoval s partnery | |
Emacs Lisp | 1976 | Richard Stallman | Také nazývaný Elisp, používaný GNU Emacs a XEmacs textové editory implementovat většinu editačních funkcí zabudovaných do Emacsu | [11] |
EuLisp | 1990 | Staticky a dynamicky rozsahem Lispský dialekt vyvinutý volnou formací průmyslových a akademických uživatelů a vývojářů Lisp po celé Evropě; the standardizátory zamýšlel vytvořit nový Lisp "méně zatížený minulostí" (ve srovnání s Společný Lisp ), a ne tak minimalistický tak jako Systém a integrovat objektově orientované programování paradigma dobře | [12] | |
Franz Lisp | 1980 | Richard Fateman | Napsáno v UC Berkeley studenty profesora Richard J. Fateman, do značné míry založeno na Maclisp a distribuovány s Distribuce softwaru Berkeley (BSD) pro Digital Equipment Corp (DEC) VAX | [13] |
Game Oriented Assembly Lisp (FOTBALOVÁ BRANKA) | 2000s | Andy Gavin | Video hra programovací jazyk vyvinutý Andy Gavin a Jak a Daxter tým v Zlobivý pes; psáno pomocí Allegro Common Lisp; používá se při vývoji celé herní série | [14] |
Ikarus | 2007 | Abdulaziz Ghuloum | Schéma dialekt | |
Interlisp | 1967 | BBN | Programovací prostředí postavené na verzi jazyka Lisp; vývoj začal v roce 1967 v Bolt, Beranek a Newman v Cambridge, Massachusetts tak jako BBN LISP, který běžel dál PDP-10 stroje provozující TENEX operační systém; když Danny Bobrow, Warren Teitelman, a Ronald Kaplan přesunuto z BBN do Xerox PARC, bylo přejmenováno na Interlisp | [15] |
ISLISP | 1997 | WG16 | Malý základní jazyk, který pomáhá překlenout propast mezi různými dialekty Lisp | [16] |
Le Lisp | 1981 | INRIA | Navrhl Jérôme Chailloux, Emmanuel St. James, INRIA | [17][18][19] |
Lisp ochucený Erlang (LFE) | 2008 | Robert Virding | Lisp dialekt postavený na jádru Erlang a virtuální stroj Erlang PAPRSEK | |
Lisp stroj Lisp | 1984 | Někdy se jmenuje Zetalisp, je přímým potomkem Maclisp; byl vyvinut v polovině až konce 70. let jako systémový programovací jazyk pro MIT Lisp stroje | [20] | |
Maclisp | 1966 | Projekt MAC | Vznikl v MIT je Projekt MAC na konci 60. let; na základě Lisp 1.5; Richard Greenblatt byl hlavním vývojářem původního codebase pro PDP-6;[21] Jon L. White byl zodpovědný za pozdější údržbu a vývoj | [21] |
MultiLisp | 1980 | Robert H. Halstead | Systém dialekt, rozšířený o konstrukty pro paralelní výpočty, vykonávající, a sdílená paměť; měl také nějaké neobvyklé odvoz odpadu a algoritmy plánování úkolů | [22] |
NULA | Sedmdesátá léta | MIT | 32bitová implementace Lisp vyvinuta na MIT; zamýšlel být nástupcem Maclisp; NIL znamená „Nová implementace LISP“ a byla částečně odpovědí na DEC VAX počítač | [23][24] |
OpenLisp | 1988 | Christian Jullien | ISLISP kompatibilní jazyk s mnoha Společný Lisp rozšíření; běží na většině moderních operačních systémů | [25] |
Sova Lisp | 2012 | Aki Helin | Čistě funkční Systém dialekt; na základě příslušné podmnožiny standardu R7RS; byl rozšířen hlavně o vlákna a datové struktury potřebné pro čistě funkční provoz | [26] |
PicoLisp | 1988 | Alexander Burger | Otevřený zdroj Lisp dialekt; běží dál Linux a další POSIX -kompatibilní systémy; nejvýznamnějšími rysy jsou jednoduchost a minimalismus | [27] |
Přenosný standardní Lisp | 1980 | University of Utah | Ocas rekurzivní dynamicky vázaný dialekt Lisp inspirovaný jeho předchůdcem Standard Lisp a Portable Lisp Compiler; implementuje Snížit počítačový algebraický systém | |
Raketa | 1994 | PLT Inc. | Obecný účel, programovací jazyk pro více paradigmat v rodině Lisp-Scheme; jedním z jejích designových cílů je sloužit jako platforma pro tvorbu, design a implementaci jazyka; používá se v mnoha kontextech, jako např skriptování, univerzální programování, vzdělávání v oblasti výpočetní techniky a výzkum | [28][29] |
Systém | 1970 | Guy L. Steele, Gerald Sussman | Funkční programovací jazyk s minimalistický filozofie designu specifikující malé standardní jádro s výkonnými nástroji pro rozšíření jazyka | [9] |
Schéma v jednom Defun (SIOD ) | 1988 | George J. Carrette | Implementace malého schématu, napsaná v jazyce C, vytvořená pro vložení do programů C. | |
DOVEDNOST | 1990 | Cadence Design Systems | Používá se jako skriptovací jazyk a PCell popisný jazyk používaný v mnoha EDA softwarové balíčky od Cadence | [30] |
T | 1984 | Jonathan A. Rees, Norman I. Adams | Systém dialekt vyvinutý na počátku 80. let Jonathanem A. Reesem, Kentem M. Pitmanem a Normanem I. Adamsem z univerzita Yale jako experiment v jazykovém designu a implementaci | [31] |
TXR | 2009 | Kaz Kylheku | Skládá se z dialektu Lisp (TXR Lisp) a vzorového jazyka pro zpracování textu (TXR Pattern Language) | [32] |
Časová osa
1955 | 1960 | 1965 | 1970 | 1975 | 1980 | 1985 | 1990 | 1995 | 2000 | 2005 | 2010 | 2015 | 2020 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
LISP 1, 1,5, LISP 2(opuštěný) | ||||||||||||||
Maclisp | ||||||||||||||
Interlisp | ||||||||||||||
Lisp stroj Lisp | ||||||||||||||
Systém | R5RS | R6RS | R7RS malý | |||||||||||
NULA | ||||||||||||||
Franz Lisp | ||||||||||||||
Společný Lisp | ||||||||||||||
Le Lisp | ||||||||||||||
T | ||||||||||||||
Chez Scheme | ||||||||||||||
Emacs Lisp | ||||||||||||||
AutoLISP | ||||||||||||||
PicoLisp | ||||||||||||||
EuLisp | ||||||||||||||
ISLISP | ||||||||||||||
OpenLisp | ||||||||||||||
Schéma PLT | Raketa | |||||||||||||
GNU Guile | ||||||||||||||
Vizuální LISP | ||||||||||||||
Clojure | ||||||||||||||
Oblouk | ||||||||||||||
LFE | ||||||||||||||
Hy |
Reference
- ^ „SICP: Předmluva“. Archivovány od originál dne 2001-07-27.
Lisp přežil a používal se zhruba čtvrt století. Z aktivních programovacích jazyků měl delší životnost pouze Fortran.
- ^ „Závěry“. Archivovány od originál dne 2014-04-03. Citováno 2016-03-18.
- ^ "Komentovaná bibliografie ACL2".
- ^ Graham, Paul. „Arc FAQ“. Citováno 2016-03-18.
- ^ „AutoLISP“. Citováno 14. dubna 2014.
- ^ „BBN-LISP“. Rodina Interlisp. Software Preservation Group. Citováno 17. března 2016.
- ^ „Clojure“. Clojure.org. Citováno 2015-09-15.
- ^ A b „CLHS: About the Common Lisp HyperSpec: Authorship Information“. LispWorks. Citováno 2019-05-01.
- ^ A b Steele, Guy L. Jr. (1981). Common Lisp the Language, 2. vyd. Digitální tisk. ISBN 978-1-55558-041-4.
Common Lisp je nový dialekt Lispu, nástupce MacLispu, silně ovlivněný ZetaLispem a do určité míry Scheme a InterLispem.
- ^ A b "Common Lisp the Language: Type declarations".
- ^ „Moje zkušenosti s Lispem a vývoj GNU Emacs“. GNU. Citováno 18. března 2016.
- ^ "Přehled EuLisp" (PDF). www.softwarepreservation.org. Citováno 18. března 2016.
- ^ Gabriel, Richard P (květen 1985). Výkon a hodnocení systémů Lisp (PDF). MIT Stiskněte; Řada počítačových systémů. ISBN 0-262-07093-6. LCCN 85-15161.
- ^ „[Sweng-gamedev] Jazyky vyšší úrovně (dříve: Multiplatformní vyvažování zátěže nové generace)“ “. Archivovány od originál dne 12. dubna 2007.
- ^ Teitelman, Warren (duben 1972), "Udělej, co mám na mysli", Počítače a automatizace: 8–11.
- ^ „Programovací jazyk ISLISP“. Archivovány od originál dne 22. ledna 2016. Citováno 18. března 2016.
- ^ Chailloux, Jérôme (1983). „LE LISP 80 verze 12“ (PDF). INRIA. Citováno 16. března 2012.
- ^ Chailloux, J .; Devin, M .; Hullot, J. M. (1984). „Le_Lisp, přenosný a efektivní systém Lisp“ (PDF). INRIA. Citováno 16. března 2012.
- ^ Chailloux, Jérôme (listopad 2001). Le_Lisp de l'INRIA: Le Manuel de référence. Verze 14. Rocquencourt Francie: INRIA. p. 190.
- ^ "Příručka ke stroji Lisp" (PDF). MIT. Citováno 18. března 2016.
- ^ A b Levy, Steven (1984). Hackeři: Hrdinové počítačové revoluce. Doubleday. ISBN 0-385-19195-2.
- ^ Halstead, R. H. „Jazyk pro souběžný symbolický výpočet“. Citováno 2006-10-12.
- ^ Gabriel, Richard P (květen 1985). Výkon a hodnocení systémů Lisp (PDF). MIT Stiskněte; Řada počítačových systémů. ISBN 978-0-262-07093-5. LCCN 85015161.
- ^ Steele, Guy L. Jr.; Gabriel, Richard P. „Vývoj Lispu“ (PDF). Citováno 2006-10-12.
- ^ „Eligis: OpenLisp, ISLISP, ISO Lisp“. Citováno 7. dubna 2018.
- ^ „Owl Lisp“. Citováno 2020-02-04.
- ^ Burger, Alexander. "Vnitřní struktury". software-lab.de. Citováno 18. března 2016.
- ^ „Vítejte v raketě“. Citováno 2011-08-15.
- ^ „Dialects of Racket and Scheme“. Citováno 2011-08-15.
- ^ Barnes, T.J. (1990). "SKILL: jazyk rozšíření systému CAD". Konference o automatizaci designu, 1990. Proceedings., 27. ACM / IEEE. DAC '90. doi:10.1109 / DAC.1990.114865.
- ^ „Projekt T“. Jonathan Rees. Citováno 18. března 2016.
- ^ „Jazyk TXR“. Kaz Kylheku. Citováno 31. srpna 2017.