Lisp
Lisp historia luzeko eta parentesiz betetako sintaxi bereizgarria duen programazio-lengoaia funtzional bat da. Jatorriz 1958. urtean zehaztuta, goi mailako programazio lengoaien artean Fortran da Lisp baino zaharragoa soilik. Fortran moduan, Lisp asko aldatu egin da bere sorreratik, eta hainbat dialekto ezberdin izan dira bere historian zehar. Gaur egun, "Lisp batua" Common Lisp da.[1]
Lisp | |
---|---|
Jatorria | |
Sorrera-urtea | 1958 |
Argitaratze-data | 1958 |
Ezaugarriak | |
Programazio paradigma | Programazio funtzional, procedural programming (en) , metaprogramming (en) , multi-paradigm programming (en) eta reflective programming (en) |
Deskribapena | |
Honen eragina jaso du | Information Processing Language (mul) |
Ekoizpena | |
Diseinatzailea | John McCarthy |
Garatzailea | John McCarthy eta Steve Russell (en) |
Fikzioa | |
Erabiltzen du | lambda calculus (en) |
Maskota | The Lisp alien (en) |
Lisp jatorriz ordenagailu programentzako notazio matematiko praktiko modura sortu zen, Alonzo Church-en lambda kalkuluan oinarrituz. Laister bihurtu zen programazioa lengoaia gogokoena adimen artifizialaren ikerketan. Lehenetariko programazio-lengoaia izanik informatikako kontzeptu askoren aitzindari izan zen.
Dialekto nagusiak
aldatuGaur egungo xede orokorreko programazioan bi dialekto nagusienak Common Lisp eta Scheme dira. Lengoaia hauek diseinu aukera ezberdinak erakusten dituzte.
Common Lisp batez ere MacLisp, Interlisp, eta Lisp Machine Lispen ondorengoa da. Scheme diseinu minimalistagoa du baina baditu Common Lispen aurkitzen ez diren ezaugarri batzuk.
Hauez gain, Lisp dialektoak aplikazio batzuetan Script lengoaia moduan erabiltzen dira, ezagunak Emacs Lisp Emacs editorean eta Autolisp AutoCADen izanik
Sintaxi adibideak
aldatuKaixo mundua adibidea:
(format t "Kaixo, mundua!")
Zenbaki baten faktoriala:
(defun faktoriala (n)
(if (<= n 1)
1
(* n (faktoriala (- n 1)))))
Datuak, adibideak:
15
A
( Erregela 16
(BALDIN (ANIMALIAK DAUKA AGIN ZORROTZAK )
(ANIMALIAK DAUKA ATZAPARRAK )
(ANIMALIAK DAUKA AURRERANTZEKO BEGIAK )
(ORDUAN (ANIMALIA HARAGIZALEA DA )))
(UEU
(OBJEKTU-MOTA UNIBERTSITATEA)
(HELBIDEA ((KALEA GENERAL_CONCHA)
(ZBKIA 25)
(HERRIA DONOSTIA)))
(ZABALGUNEA (EUSKAL HERRIA))
(TELEFONOA 943821426)
(POSTA markeskoa@ueu.eus )
(BURUA '(IÑAKI ALEGRIA)))
Funtzioen definizioak, adibideak:
(DEFUN FIBONACCI (N)
(COND ((ZEROP N) 1)
((EQUAL N 1) 1)
(T (+ (FIBONACCI (- N 1))
(DEFUN FAKT (N)
(COND ((= 0 N) 1)
(T (* N (FAKT (- N 1))))))
Espresioen ebaluazioa, adibideak:
15
A
(COND ((MEMBER X LISTA1) LISTA1)
((MEMBER X LISTA2) LISTA2)
(T (APPEND LISTA1 LISTA2)))
(FIBONACCI (- N 2 ))))))
(FAKTORIALA (+ 2 A))
(SARTU-PILAN (FIRST LISTA1) LISTA2)
(Y 3)
Liburuak
aldatu- LISP programazio-lengoaia. Kepa Sarasola Gabiola eta Juan Ramon Bastarrika Larrauri. UEU 1991. (Jeitsi UEUko buruxkak-etik)
Erreferentziak
aldatu- ↑ a b Sarasola Gabiola, Kepa; Bastarrika Larrauri, Juan Ramon. (1991). LISP programazio-lengoaia. UEU ISBN 978-84-86967-32-1. (Noiz kontsultatua: 2021-02-17).
- ↑ (Ingelesez) Levenez, Eric. (PDF) Computer Languages History. small diagram.. (Noiz kontsultatua: 2019-09-11).