Lisp

Common Lisp» orritik birbideratua)

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-urtea1958
Argitaratze-data1958
Ezaugarriak
Programazio paradigmaProgramazio funtzional, procedural programming (en) Itzuli, metaprogramming (en) Itzuli, multi-paradigm programming (en) Itzuli eta reflective programming (en) Itzuli
Deskribapena
Honen eragina jaso duInformation Processing Language (en) Itzuli
Ekoizpena
DiseinatzaileaJohn McCarthy
GaratzaileaJohn McCarthy eta Steve Russell (en) Itzuli
Fikzioa
Erabiltzen dulambda calculus (en) Itzuli
MaskotaThe Lisp alien (en) Itzuli
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]

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 aldatu

Gaur 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 aldatu

Kaixo 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

Erreferentziak aldatu

  1. 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).
  2. (Ingelesez) Levenez, Eric. (PDF) Computer Languages History. small diagram.. (Noiz kontsultatua: 2019-09-11).

Kanpo estekak aldatu