Ebooks, Audobooks and Classical Music from Liber Liber
a b c d e f g h i j k l m n o p q r s t u v w x y z





Web - Amazon

We provide Linux to the World


We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Lisp - Vikipedija

Lisp

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.

Lisp (angl. List Processing) - programavimo kalbų šeima. Sukurta praeito amžiaus šešto dešimtmečio gale kaip abstrakti rekursinių funkcijų užrašymo forma, kalba vis dar naudojama įvairiose srityse, taip pat ir kompiuterių mokslo studijose. Šiuo metu populiariausi Lisp dialektas yra Common Lisp ir Scheme.

Pagrindinė duomenų struktūra Lisp kalboje - sąrašas. Lisp kalba parašytos programos lengvai atpažįstamos iš unikalaus skliaustelių naudojimo bei prefiksinės formos.

[taisyti] Istorija

Pirmą kartą aprašyta 1958 metais, kalba yra antra pagal senumą iš aukšto lygio programavimo kalbų - tik Fortran kalba yra senesnė. Kalbą sukūrė John McCarthy 1958 metais, o viešai paskelbė 1960.

[taisyti] Savybės

Lisp kalboje viskas užrašoma išraiškomis, tiek kodas, tiek ir duomenys. Kiekviena išraiška sukuria rezultatą (ar rezultatų sąrašą), kuris gali būti naudojamas kitose išraiškose. Kadangi funkcijos užrašomos kaip sąrašai, jas galima keisti kaip duomenis, todėl labai paprasta programos veikimo metu keisti programą ar dinamiškai kurti algoritmus.

Lisp naudojama prefiksinė užrašymo forma, todėl išraiška 1+2+3+4 Lisp kalboje atrodytų taip:

(+ 1 2 3 4)

Daugumoje Lisp dialektų, funkcijos yra pirmos klasės objektai, kas reiškia, kad jas galima vartotoi ten pat, kaip ir kitus objektus. Pavyzdžiui, funkciniame programavime esminės funkcijos yra "map" ir "filter". Funkcijos "map" argumentai yra funkcija bei sąrašas. Ji kiekvienam sąrašo elementui pritaiko funkciją, ir grąžina naują sąrašą. Pavyzdys:

 (defun twice (x)
   (* x 2))
 
 (map #'twice '(1 2 3 4 5))
 => (2 4 6 8 10)

Ypač naudinga tai, kad galima kurti anonimines funkcijas ("lambda"). Pavyzdžiui, ankstesnį pavyzdį galima būtų parašyti taip:

 (map #'(lambda (x)
          (* x 2))
      '(1 2 3 4 5))

Dauguma šiuolaikinių Lisp sistemų turi gausias bibliotekas (pvz., Common Lisp). Kitos, kaip kad Scheme pasirinko kitą kelią -- joms svarbiau sintaksės paprastumas ir aiškumas.

[taisyti] Pavyzdys

Rekursinis faktorialo skaičiavimo algoritmas:

(defun factorial (n)
  (if (<= n 1)
      1
      (* n (factorial (- n 1)))))


Our "Network":

Project Gutenberg
https://gutenberg.classicistranieri.com

Encyclopaedia Britannica 1911
https://encyclopaediabritannica.classicistranieri.com

Librivox Audiobooks
https://librivox.classicistranieri.com

Linux Distributions
https://old.classicistranieri.com

Magnatune (MP3 Music)
https://magnatune.classicistranieri.com

Static Wikipedia (June 2008)
https://wikipedia.classicistranieri.com

Static Wikipedia (March 2008)
https://wikipedia2007.classicistranieri.com/mar2008/

Static Wikipedia (2007)
https://wikipedia2007.classicistranieri.com

Static Wikipedia (2006)
https://wikipedia2006.classicistranieri.com

Liber Liber
https://liberliber.classicistranieri.com

ZIM Files for Kiwix
https://zim.classicistranieri.com


Other Websites:

Bach - Goldberg Variations
https://www.goldbergvariations.org

Lazarillo de Tormes
https://www.lazarillodetormes.org

Madame Bovary
https://www.madamebovary.org

Il Fu Mattia Pascal
https://www.mattiapascal.it

The Voice in the Desert
https://www.thevoiceinthedesert.org

Confessione d'un amore fascista
https://www.amorefascista.it

Malinverno
https://www.malinverno.org

Debito formativo
https://www.debitoformativo.it

Adina Spire
https://www.adinaspire.com