Scheme
Išvaizda
Scheme – Lisp š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 | redaguoti vikitekstą]- 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 | redaguoti vikitekstą] ![]() |
Š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 | redaguoti vikitekstą](define square
(lambda (x)
(expt x 2))
(display (map square '(1 2 3 4)))
Atspausdintų:
(1 4 9 16)
Programiniai įgyvendinimai
[redaguoti | redaguoti vikitekstą]- Chicken
- Guile
- JScheme Archyvuota kopija 2005-07-29 iš Wayback Machine projekto.
- Kawa
- MIT Scheme yra vienas iš oficialiausių bei didžiausių įgyvendinimų,
- MzScheme Archyvuota kopija 2005-08-29 iš Wayback Machine projekto. ir aplinka DrScheme