Theprogramming languageLisp is the second-oldesthigh-level programming language with direct descendants and closely relateddialects still in widespread use today. The languageFortran is older by one year.[1][2] Lisp, like Fortran, has changed a lot since its early days, and manydialects have existed over its history. Today, the most widely known general-purpose Lisp dialects areCommon Lisp andScheme.
| Language | Year begun | Created by (at) | Comments | References |
|---|---|---|---|---|
| ACL2 | 1990 | Robert Boyer, J Moore, Matt Kaufmann | A Computational Logic for Applicative Common Lisp consists of aprogramming language, an extensible theory in afirst-order logic, and a mechanicaltheorem prover | [3] |
| Arc | 2008 | Paul Graham | Dialect of Lisp developed byPaul Graham andRobert Morris | [4] |
| AutoLISP | 1986 | David Betz | Built to include and use with the full version ofAutoCAD and its derivatives | [5] |
| BBN LISP | 1966 | BBN | Based onL. Peter Deutsch's Lisp implementation forPDP-1, which was developed from 1960 to 1964; in time language was expanded until it became its own separate dialect in 1966; later renamed Interlisp | [6] |
| Chez Scheme | 1985 | R. Kent Dybvig | Scheme dialect | |
| Chialisp | 2019 | Bram Cohen | Lisp-like language, focus on security and auditability; commonly used onChia blockchain to lock funds in smart coins until spent and released by their owner, enabling behavior similar to asmart contract | [7][8][9] |
| Chicken | 2000 | Felix Winkelmann | Scheme dialect | |
| Clojure | 2007 | Rich Hickey | Lisp dialect, emphasizesfunctional programming; runs onJava virtual machine,Common Language Runtime, andJavaScript engines; like other Lisps, treats code as data (homoiconicity) and has amacro system | [10] |
| ANSICommon Lisp | 1994 | ANSIX3J13 committee | Common Lisp enhanced and standardized, published inANSI standard document ANSI INCITS 226-1994; to the features of Common Lisp, it adds theloop macro, and theCommon Lisp Object System (CLOS) to provideobject-oriented programming paradigm withmultiple dispatch (multimethods), and method combinations; runs on many platforms:Unix, Linux,macOS,Windows,JVM, JavaScript, Unix/C,LLVM/C++,Android,iOS | [11] |
| Common Lisp | 1984 | Lisp dialect first standardized in a book, "Common Lisp the Language", byGuy L. Steele,[12] developed as a standardized and improved successor ofMaclisp; statically and dynamicallyscoped; strongly-typed, allows (optional) type declarations;[13] separate namespaces for functions versus data variables, a trait often namedLisp-2;object-oriented programming is possible via libraries such asFlavors,CommonLOOPS, and later CLOS; treats code as data (homoiconicity) and has amacro system; Thereader is extensible viareader macros[13] | [11] | |
| Dylan | 1992 | Apple Computer | Mostly based on Scheme and Common Lisp, was designed as system and application programming language by Apple; first used to write an operating system and applications for internal prototypes of the later released Apple Newton computer; first official version of Apple Dylan also hads-expression based syntax; Apple collaborated with partners to develop this language | |
| Emacs Lisp | 1976 | Richard Stallman | Also termed Elisp, used byGNU Emacs andXEmacstext editors to implement most editing functions built into Emacs | [14] |
| EuLisp | 1990 | Statically and dynamicallyscoped Lisp dialect developed by a loose formation of industrial and academic Lisp users and developers across Europe; thestandardizers intended to create a new Lisp "less encumbered by the past" (compared toCommon Lisp), and not sominimalist asScheme, and to integrate theobject-oriented programming paradigm well | [15] | |
| Franz Lisp | 1980 | Richard Fateman | Written atUC Berkeley by the students of ProfessorRichard J. Fateman, based largely onMaclisp and distributed with theBerkeley Software Distribution (BSD) for the Digital Equipment Corp (DEC)VAX | [16] |
| Game Oriented Assembly Lisp (GOAL) | 2000s | Andy Gavin | Video game programming language developed byAndy Gavin and theJak and Daxter team atNaughty Dog; written usingAllegro Common Lisp; used in developing the full game series | [17] |
| Hy | 2013 | Paul Tagliamonte | A lisp with tight integration withPython | |
| Ikarus | 2007 | Abdulaziz Ghuloum | Scheme dialect | |
| Interlisp | 1967 | BBN | Programming environment built around a version of Lisp language; development began in 1967 atBolt, Beranek and Newman inCambridge, Massachusetts asBBN LISP, which ran onPDP-10 machines running theTENEX operating system; whenDanny Bobrow,Warren Teitelman, andRonald Kaplan moved from BBN toXerox PARC, it was renamed Interlisp | [18] |
| ISLISP | 1997 | WG16 | Small core language to help bridge the gap between differing Lisp dialects | [19] |
| Janet | 2017 | Lisp-like programming language designed for system scripting and embedding within other programs, particularly those written in C or C++ | [20] | |
| Le Lisp | 1981 | INRIA | Designed by Jérôme Chailloux, Emmanuel St. James,INRIA | [21][22][23] |
| Lisp Flavored Erlang (LFE) | 2008 | Robert Virding | Lisp dialect built on CoreErlang and the Erlang virtual machineBEAM | |
| Lisp Machine Lisp | 1984 | Sometimes named Zetalisp, is a direct descendant ofMaclisp; was developed in the mid to late 1970s as the systems programming language for theMITLisp machines | [24] | |
| Lispkit Lisp | 1980 | Peter Henderson | A lexically scoped, purely functional subset of Lisp ("Pure Lisp") developed as a testbed for functional programming concepts. | [25] |
| Maclisp | 1966 | Project MAC | Originated atMIT'sProject MAC in late 1960s; based onLisp 1.5;Richard Greenblatt was main developer of original codebase for thePDP-6;[26] Jon L. White was responsible for later maintenance and development | [26] |
| MultiLisp | 1980s | Robert H. Halstead | Scheme dialect, extended with constructs forparallel computing, executing, andshared memory; also had some unusualgarbage collection and task scheduling algorithms | [27] |
| NIL | 1970s | MIT | 32-bit Lisp implementation developed atMIT; intended as successor toMaclisp; NIL stood forNew Implementation of LISP, and was in part a response toDECsVAX computer | [28][29] |
| OpenLisp | 1988 | Christian Jullien | ISLISP compatible language with manyCommon Lisp extensions; runs on most modern operating systems | [30] |
| Owl Lisp | 2012 | Aki Helin | Pure functionalScheme dialect; based on applicable subset of the R7RS standard; has been extended mainly with threads and the data structures needed for purely functional operation | [31] |
| PicoLisp | 1988 | Alexander Burger | Open-source Lisp dialect; runs onLinux and otherPOSIX-compliant systems; most prominent features are simplicity andminimalism | [32] |
| Portable Standard Lisp | 1980 | University of Utah | Tail-recursive dynamically bound Lisp dialect inspired by its predecessor, Standard Lisp and the Portable Lisp Compiler; it implements theReduce computer algebra system | |
| Racket | 1994 | PLT Inc. | General purpose,multi-paradigm programming language in the Lisp-Scheme family; one of its design goals is to serve as a platform for language creation, design, and implementation; it is used in many contexts such asscripting, general-purpose programming, computer science education, and research | [33][34] |
| Scheme | 1970 | Guy L. Steele, Gerald Sussman | Functional programming language with aminimalist design philosophy specifying a small standard core with powerful tools for language extension | [12] |
| Scheme In One Defun (SIOD) | 1988 | George J. Carrette | Small Scheme implementation, written inC language, made to embed in C programs | |
| SKILL | 1990 | Cadence Design Systems | Used as ascripting language andPCell description language used in manyEDA software suites by Cadence | [35] |
| T | 1984 | Jonathan A. Rees, Norman I. Adams | Scheme dialect developed in the early 1980s by Jonathan A. Rees, Kent M. Pitman, and Norman I. Adams ofYale University as an experiment in language design and implementation | [36] |
| TXR | 2009 | Kaz Kylheku | Consists of a Lisp dialect (TXR Lisp) and a pattern language for processing text (TXR Pattern Language) | [37] |
| 1958 | 1960 | 1965 | 1970 | 1975 | 1980 | 1985 | 1990 | 1995 | 2000 | 2005 | 2010 | 2015 | 2020 | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LISP 1, 1.5,LISP 2(abandoned) | |||||||||||||||
| Maclisp | |||||||||||||||
| Interlisp | |||||||||||||||
| MDL | |||||||||||||||
| Lisp Machine Lisp | |||||||||||||||
| Scheme | R5RS | R6RS | R7RS small | ||||||||||||
| NIL | |||||||||||||||
| ZIL (Zork Implementation Language) | |||||||||||||||
| Franz Lisp | |||||||||||||||
| muLisp | |||||||||||||||
| Common Lisp | ANSI standard | ||||||||||||||
| Le Lisp | |||||||||||||||
| MIT Scheme | |||||||||||||||
| XLISP | |||||||||||||||
| T | |||||||||||||||
| Chez Scheme | |||||||||||||||
| Emacs Lisp | |||||||||||||||
| AutoLISP | |||||||||||||||
| PicoLisp | |||||||||||||||
| Gambit | |||||||||||||||
| EuLisp | |||||||||||||||
| ISLISP | |||||||||||||||
| OpenLisp | |||||||||||||||
| PLT Scheme | Racket | ||||||||||||||
| newLISP | |||||||||||||||
| GNU Guile | |||||||||||||||
| Visual LISP | |||||||||||||||
| Clojure | |||||||||||||||
| Arc | |||||||||||||||
| LFE | |||||||||||||||
| Hy | |||||||||||||||
Lisp is a survivor, having been in use for about a quarter of a century. Among the active programming languages only Fortran has had a longer life.
Common Lisp is a new dialect of Lisp, a successor to MacLisp, influenced strongly by ZetaLisp and to some extent by Scheme and InterLisp.