Lisp (ka LISP) on pika ajalooga programmeerimiskeelte perekond.[1]

Lisp
Paradigma funktsionaalne, protseduraalne, reflektiivne, meta
Väljalaskeaeg 1958
Looja John McCarthy
Arendaja Steve Russell, Timothy P. Hart ja Mike Levin
Tüüpimine dünaamiline, tugev
Dialektid Common Lisp, Scheme, Emacs Lisp, AutoLISP, Logo, Clojure, ISLISP, Newlisp, BEE Lisp, Arc, SKILL
Mõjutanud keeli ML, Perl, Python, Smalltalk, Ruby, Dylan, Mathematica, Rebol, Qi, Lua, JavaScript, Forth, Nu, OPS5, CLU, Falcon, Io, Ioke

Lisp-tüüpi keeltele on omane täielikult sulgudega eraldatud eesliidenotatsioon ja makrode laialdane kasutamine.

Lisp on väga ühtse süntaksiga keel: andmed, funktsioonid, programmid on kõik loendid. Sellest tuleneb ka keele nimi List processing language (loendite töötlemise keel).

Keele autor on John McCarthy, kes leiutas selle 1958. aastal.

Võimalus programme käigupealt muuta teeb Lispist võimsa keele.[viide?]

Dialektid muuda

Tuntuimad üldotstarbelised Lispi dialektid on Common Lisp ja Scheme. Üks uuemaid dialekte on Clojure.

Mitmed dialektid on kasutusel aga muude programmide koosseisus. Näiteks tekstiredaktor Emacs on laiendatav Emacs Lispi abil ning AutoCAD AutoLISPiga.

Lispi dialekte saab jaotada Lisp-1 ja Lisp-2 dialektideks. Lisp-1 dialektid kasutavad sama nimeruumi nii funktsioonide kui ka muutujate väärtuste jaoks, samas kui Lisp-2 dialektid kasutavad kahte eri nimeruumi, ühte funktsioonide ning teist muutujate väärtuste jaoks.[2] Tuntumatest dialektidest Scheme, Racket ja Clojure on Lisp-1 dialektid ning Common Lisp on Lisp-2 dialekt.

Viited muuda

  1. "Lisp FAQ". paulgraham.com. Vaadatud 26. septembril 2017.
  2. Richard P. Gabriel; Kent M. Pitman (juuni 1988). "Technical Issues of Separation in Function Cells and Value Cells". Lisp and Symbolic Computation. 1 (1): 81–101. DOI:10.1007/bf01806178. S2CID 26716515.

Välislingid muuda