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