Edukira joan

Lisp

Wikipedia, Entziklopedia askea
Lisp
Jatorria
Sorrera-urtea1958
Argitaratze-data1958
Ezaugarriak
Programazio paradigmaProgramazio funtzional,procedural programming(en)Itzuli,metaprogramming(en)Itzuli,multi-paradigm programming(en)Itzulietareflective programming(en)Itzuli
Deskribapena
Honen eragina jaso duInformation Processing Language(mul)Itzuli
Ekoizpena
DiseinatzaileaJohn McCarthy
GaratzaileaJohn McCarthyetaSteve Russell(en)Itzuli
Fikzioa
Erabiltzen dulambda calculus(en)Itzuli
MaskotaThe Lisp alien(en)Itzuli

Lisphistoria luzeko eta parentesiz betetako sintaxi bereizgarria duenprogramazio-lengoaiafuntzional bat da. Jatorriz1958.urtean zehaztuta,goi mailako programazio lengoaienarteanFortranda Lisp baino zaharragoa soilik. Fortran moduan,Lispasko aldatu egin da bere sorreratik, eta hainbat dialekto ezberdin izan dira bere historian zehar. Gaur egun, "Lisp batua"Common Lispda.[1]

Goi-mailako[Betiko hautsitako esteka]programazio-lengoaia batzuen bertsio-bilakaera urteetan zehar.[2]
"LISP[Betiko hautsitako esteka]Programazio Lengoaia "(UEU,Iñaki Madariaga,1991)[1]

Lispjatorriz ordenagailu programentzako notazio matematiko praktiko modura sortu zen,Alonzo Church-enlambda kalkuluanoinarrituz. Laister bihurtu zen programazioa lengoaia gogokoenaadimen artifizialarenikerketan. Lehenetariko programazio-lengoaia izanikinformatikako kontzeptu askoren aitzindari izan zen.

Dialekto nagusiak

[aldatu|aldatu iturburu kodea]

Gaur egungo xede orokorreko programazioan bi dialekto nagusienakCommon LispetaSchemedira. Lengoaia hauek diseinu aukera ezberdinak erakusten dituzte.

Common Lisp batez ereMacLisp,Interlisp,etaLisp Machine Lispenondorengoa da. Scheme diseinu minimalistagoa du baina baditu Common Lispen aurkitzen ez diren ezaugarri batzuk.

Hauez gain, Lisp dialektoak aplikazio batzuetanScript lengoaiamoduan erabiltzen dira, ezagunakEmacs LispEmacseditorean etaAutolispAutoCADenizanik

Sintaxi adibideak

[aldatu|aldatu iturburu kodea]

Kaixo munduaadibidea:

(formatt"Kaixo, mundua!")

Zenbaki batenfaktoriala:

(defunfaktoriala(n)
(if(<=n1)
1
(*n(faktoriala(-n1)))))

Datuak, adibideak:

15

A

(Erregela16
(BALDIN(ANIMALIAKDAUKAAGINZORROTZAK)
(ANIMALIAKDAUKAATZAPARRAK)
(ANIMALIAKDAUKAAURRERANTZEKOBEGIAK)
(ORDUAN(ANIMALIAHARAGIZALEADA)))

(UEU
(OBJEKTU-MOTAUNIBERTSITATEA)
(HELBIDEA((KALEAGENERAL_CONCHA)
(ZBKIA25)
(HERRIADONOSTIA)))
(ZABALGUNEA(EUSKALHERRIA))
(TELEFONOA943821426)
(POSTA[email protected])
(BURUA'(IÑAKIALEGRIA)))

Funtzioen definizioak, adibideak:

(DEFUNFIBONACCI(N)
(COND((ZEROPN)1)
((EQUALN1)1)
(T(+(FIBONACCI(-N1))

(DEFUNFAKT(N)
(COND((=0N)1)
(T(*N(FAKT(-N1))))))


Espresioen ebaluazioa, adibideak:

15

A

(COND((MEMBERXLISTA1)LISTA1)
((MEMBERXLISTA2)LISTA2)
(T(APPENDLISTA1LISTA2)))

(FIBONACCI(-N2))))))
(FAKTORIALA(+2A))

(SARTU-PILAN(FIRSTLISTA1)LISTA2)

(Y3)
  1. abSarasola Gabiola, Kepa; Bastarrika Larrauri, Juan Ramon. (1991).LISP programazio-lengoaia.UEUISBN978-84-86967-32-1.(Noiz kontsultatua: 2021-02-17).
  2. (Ingelesez)Levenez, Eric. (PDF)Computer Languages History. small diagram..(Noiz kontsultatua: 2019-09-11).