SchemeLisp šeimos programavimo kalba (dialektas). Sukurta Guy L. Steele ir Gerald Jay Sussman apie 1970 metus. Naudojama mokyti programavimo, dirbtinio intelekto tyrimams, bei kitiems moksliniams projektams.

Skirtumai nuo kitų Lisp dialektų

redaguoti
  • Funkcijos dalinasi ta pačia vardų sritimi, kaip ir įprasti kintamieji. Pavyzdžiui, Common Lisp reikalauja naudoti #' prieš funkcijos vardą, norint gauti jos reikšmę; Scheme to nereikia.
  • Pilnas skaitinių tipų rinkinys: neriboto tikslumo sveikieji skaičiai, trupmenos, slankaus kablelio skaičiai, kompleksiniai skaičiai.
  • Minimali funkcijų biblioteka.
  • Leksinis apgaubimas.
  • Privalomas uodeginės rekursijos (tail recursion) palaikymas.
  • Privaloma funkcijos call - with - current - continuaton palaikymas; tai labai galingas įrankis.

Standartai

redaguoti
   Šiame straipsnyje bent dalis informacijos yra pasenusi – R6RS ir R7RS standartai jau patvirtinti
Jeigu galite, atnaujinkite informaciją ir ištrinkite šį pranešimą.

Scheme kalba standartizuota RnRS dokumentais. Šiuo metu naujausias ruošiamas yra R7RS, o dauguma įgyvendinimų remiasi R4RS arba R5RS. Kiekvienas standartas numato sintaksę, sistemines funkcijas, duomenų tipus, bei rekomenduotinas bibliotekos funkcijas.

Pavyzdys

redaguoti
(define square  (lambda (x)    (expt x 2))(display (map square '(1 2 3 4)))

Atspausdintų:

 (1 4 9 16)

Programiniai įgyvendinimai

redaguoti

Plačiau

redaguoti