Scheme
From Wikipedia, the free encyclopedia
Remove ads
Scheme — мова праграмавання з сямейства моў Лісп, створаная Гаем Сцілам і Джэральдам Сасмэнам.
Традыцыйна асноўнай рысай мовы Scheme быў мінімалізм, але стандарт R6RS быў значна большым за папярэднія, а новы стандарт R7RS будзе апісваць два варыянта мовы: «малы» варыянт (уключае толькі найбольш неабходныя ў мове праграмавання рэчы, на аснове якіх можна пабудаваць усе іншыя; ствараецца працоўнай групай 1[1]) і «вялікі» (уключае тое, што неабходна для практычнага выкарыстання мовы; ствараецца працоўнай групай 2[2]).
Фармальным стандартам мовы Scheme з’яўляецца стандарт IEEE 1178. Стандартамі дэ-факта з’яўляюцца дакументы RnRS (англ. Revisedn Report on on the Algorithmic Language Scheme, гэта значыць Палепшаная n раз справаздача пра алгарытмічную мову Scheme), якія ствараюцца спецыяльна абраным камітэтам і прымаюцца ў выніку галасавання. Стандарт R6RS быў прыняты ў 2007 годзе[3]. 20 мая закончыцца галасаванне[4] па «маленькаму» варыянту мовы з R7RS.
Стандарт апісвае толькі неабходны мінімум.
Remove ads
Асноўныя рысы мовы
Як і ўсе мовы з сямейства Ліспаў, Scheme выкарыстоўвае прэфіксную натацыю. У Scheme матэматычныя аператары +, -, /, * разглядаюцца як функцыі і пішуцца перад іх аргументамі. Напрыклад, сума x і 1 запісваецца так:
(+ x 1)
Выклік функцыі запісваецца такім жа чынам:
(display "Hello, world")
Для схемы характэрная гомаіканічнасць — код і даныя выглядаюць аднолькава. Выклік функцыі ў той жа час з’яўляецца звязаным спісам. Вось так апісваецца спіс з двума элементамі — сімвалічным аб’ектам display
і радком "Hello, world":
'(display "Hello, world")
Гомаіканічнасць дазваляе ствараць макрасы — код, які пераўтварае іншы код.
У адрозненне ад іншых ліспаў (у першую чаргу ад Common Lisp), у Scheme ёсць толькі адна прастора імён. Гэта значыць, што імёны пераменных і функцый не могуць быць аднолькавымі.
Remove ads
Зноскі
- Charter for working group 1. Scheme Steering Committee. 2007-08-13.
- Charter for working group 2. Scheme Steering Committee. 2007-08-13.
- R6RS Ratification Vote. Scheme Steering Committee. 2007-08-13.
- Ліст extension of voting period Архівавана 21 ліпеня 2013. у спіску рассылкі Scheme-reports.
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads