Lisp
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
muudaTuntuimad ü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- ↑ "Lisp FAQ". paulgraham.com. Vaadatud 26. septembril 2017.
- ↑ 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. ISSN 0892-4635. S2CID 26716515.