Перайсці да зместу

Scheme

З Вікіпедыі, свабоднай энцыклапедыі
Scheme
Выява лагатыпа
Клас мовы мультыпарадыгменая
З’явілася ў 1975
Аўтар(ы) Гай Сціл, Джэральд Сасмэн
Пашырэнне файлаў .scm
Тыпізацыя даных строгая, дынамічная
Асноўныя рэалізацыі Chibi-Scheme, Chicken, Gambit, Guile, Kawa, MIT Scheme, Racket, Tiny Scheme
Зведала ўплыў Lisp, ALGOL, MDL
Паўплывала на Clojure, Common Lisp, Dylan, EuLisp, Haskell, JavaScript, Lua, R, Ruby
Сайт scheme.org (англ.)

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.

Стандарт апісвае толькі неабходны мінімум.

Асноўныя рысы мовы

[правіць | правіць зыходнік]

Як і ўсе мовы з сямейства Ліспаў, Scheme выкарыстоўвае прэфіксную натацыю. У Scheme матэматычныя аператары +, -, /, * разглядаюцца як функцыі і пішуцца перад іх аргументамі. Напрыклад, сума x і 1 запісваецца так:

   (+ x 1)

Выклік функцыі запісваецца такім жа чынам:

   (display "Hello, world")

Для схемы характэрная гомаіканічнасць — код і даныя выглядаюць аднолькава. Выклік функцыі ў той жа час з’яўляецца звязаным спісам. Вось так апісваецца спіс з двума элементамі — сімвалічным аб’ектам display і радком "Hello, world":

   '(display "Hello, world")

Гомаіканічнасць дазваляе ствараць макрасы — код, які пераўтварае іншы код.

У адрозненне ад іншых ліспаў (у першую чаргу ад Common Lisp), у Scheme ёсць толькі адна прастора імён. Гэта значыць, што імёны пераменных і функцый не могуць быць аднолькавымі.

Зноскі

  1. Charter for working group 1. Scheme Steering Committee. 2007-08-13.
  2. Charter for working group 2. Scheme Steering Committee. 2007-08-13.
  3. R6RS Ratification Vote. Scheme Steering Committee. 2007-08-13.
  4. Ліст extension of voting period Архівавана 21 ліпеня 2013. у спіску рассылкі Scheme-reports.
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy