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-glossy-120.jpg Lisp
4.3 BSD UWisc VAX Emulation Lisp Manual.png
Jatorria
Sorrera-urtea 1958
Argitaratze-data 1958
Ezaugarriak
Programazio paradigma lengoaia funtzional, procedural programming (en) Itzuli, metaprogramming (en) Itzuli, multi-paradigm programming (en) Itzuli eta reflective programming (en) Itzuli
Deskribapena
Honen eragina jaso du Information Processing Language (en) Itzuli
Ekoizpena
Diseinatzailea John McCarthy
Garatzailea John McCarthy eta Steve Russell (en) Itzuli
Fikzioa
Erabiltzen du lambda calculus (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 nagusiakAldatu

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 adibideakAldatu

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)

LiburuakAldatu

ErreferentziakAldatu

  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 estekakAldatu