Lisp
Lisp | |
---|---|
Paradigma | funktsionaalne,protseduraalne,reflektiivne,meta |
Väljalaskeaeg | 1958 |
Looja | John McCarthy |
Arendaja | Steve Russell,Timothy P. HartjaMike 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(kaLISP) on pika ajaloogaprogrammeerimiskeelteperekond.[1]
Lisp-tüüpi keeltele on omane täielikult sulgudega eraldatudeesliidenotatsioonjamakrodelaialdane kasutamine.
Lisp on väga ühtsesüntaksigakeel:andmed,funktsioonid,programmidon kõikloendid.Sellest tuleneb ka keele nimiListprocessing language(loendite töötlemise keel).
Keele autor onJohn McCarthy,kes leiutas selle1958.aastal.
Võimalus programme käigupealt muuta teeb Lispist võimsa keele.[viide?]
Dialektid
[muuda|muuda lähteteksti]Tuntuimad üldotstarbelised Lispi dialektid onCommon LispjaScheme.Üks uuemaid dialekte onClojure.
Mitmed dialektid on kasutusel aga muude programmide koosseisus. Näiteks tekstiredaktorEmacson laiendatavEmacs Lispiabil ningAutoCADAutoLISPiga.
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|muuda lähteteksti]- ↑"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.S2CID26716515.