<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Scheme</id>
	<title>Scheme - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Scheme"/>
	<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=Scheme&amp;action=history"/>
	<updated>2026-07-16T07:34:18Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://camokathomelab.servebeer.com/mediawiki/index.php?title=Scheme&amp;diff=8876&amp;oldid=prev</id>
		<title>imported&gt;MBHbot: {не переведено 2|Сассмен, Джеральд|Джеральдом Сассменом|en|Gerald Jay Sussman}-&gt;[Сассман, Джеральд Джей|Джеральдом Сассменом]</title>
		<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=Scheme&amp;diff=8876&amp;oldid=prev"/>
		<updated>2026-02-28T14:03:40Z</updated>

		<summary type="html">&lt;p&gt;{не переведено 2|Сассмен, Джеральд|Джеральдом Сассменом|en|Gerald Jay Sussman}-&amp;gt;[Сассман, Джеральд Джей|Джеральдом Сассменом]&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Карточка языка программирования &lt;br /&gt;
  |name            = Scheme&lt;br /&gt;
  |logo            = Lambda lc.svg&lt;br /&gt;
  |semantics       = [[Функциональное программирование|функциональный]]&lt;br /&gt;
  |class           = [[интерпретатор]] или [[компилятор]]&lt;br /&gt;
  |year            = [[1975]] &lt;br /&gt;
  |designer        = [[Стил, Гай|Гай Стил]] и [[Сассмен, Джеральд|Джеральд Сассмен]]&lt;br /&gt;
  |extension       = .scm, .ss&lt;br /&gt;
  |typing          = строгая, [[Динамическая типизация|динамическая]]&lt;br /&gt;
  |dialects        = {{не переведено|T (язык программирования)|T|en|T (programming language)}}&lt;br /&gt;
  |implementations = [[PLT Scheme]], [[MIT Scheme]], [[Scheme48]], [[GNU Guile|Guile]], [[JScheme]]&lt;br /&gt;
  |influenced_by   = [[Lisp]], [[ALGOL]]&lt;br /&gt;
  |influenced      = [[Common Lisp]], [[JavaScript]], [[R (язык программирования)|R]], [[Ruby]], [[Dylan (язык программирования)|Dylan]], [[Lua]], {{нп3|Hop (software)|Hop}}, [[Racket (язык программирования)|Racket]]&lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Scheme&amp;#039;&amp;#039;&amp;#039; [{{IPA|skiːm}}] — [[функциональный язык программирования]], один из трёх наиболее популярных диалектов [[Лисп]]а (наряду с [[Common Lisp]] и [[Clojure]]). Создан в середине [[1970-е|1970-х годов]] исследователями [[Массачусетский технологический институт|Массачусетского технологического института]] {{не переведено 2|Стил, Гай|Гаем Стилом|en|Guy L. Steele}} и [[Сассман, Джеральд Джей|Джеральдом Сассменом]].&lt;br /&gt;
&lt;br /&gt;
Обладает минималистичным дизайном, содержит минимум примитивных конструкций и позволяет выразить всё необходимое путём надстройки над ними. Например, использует всего два механизма организации циклов — [[хвостовая рекурсия|хвостовую рекурсию]] и итеративный подход (в котором используются временные переменные для сохранения промежуточного результата).&lt;br /&gt;
&lt;br /&gt;
Язык начинался с попытки реализовать [[модель акторов]] Карла Хьюитта, для чего Стил и Сассман написали «крошечный интерпретатор Лиспа», а затем «добавили механизм создания акторов и посылки сообщений». Scheme стал первым диалектом Лиспа, применяющим исключительно статические (а не динамические) [[Область видимости|области видимости]] переменных, что гарантировало оптимизацию хвостовой рекурсии и обеспечило поддержку булевского типа (&amp;lt;code&amp;gt;#t&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;#f&amp;lt;/code&amp;gt; вместо традиционных &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;NIL&amp;lt;/code&amp;gt;). Также стал одним из первых языков с поддержкой [[Продолжение (информатика)|продолжений]]. Начиная со спецификации R⁵RS, язык приобрёл средство для записи [[макрос]]ов на основе шаблонов синтаксического преобразования с «соблюдением гигиены» ({{lang-en|hygienic macro}}). Предусматривается «[[сборка мусора (программирование)|сборка мусора]]» (автоматическое освобождение памяти от неиспользуемых более объектов).&lt;br /&gt;
&lt;br /&gt;
В качестве базовых структур данных язык использует списки и одномерные массивы («векторы»). В соответствии с декларируемым минимализмом, (пока) нет стандартного синтаксиса для поддержки структур с именованными полями, а также средств [[Объектно-ориентированное программирование|ООП]] — все это может быть реализовано программистом по его предпочтению, хотя большинство реализаций языка предлагают готовые механизмы.&lt;br /&gt;
&lt;br /&gt;
Первоначальное название языка — Schemer, было изменено из-за ограничения на длину имён файлов в {{нп5|Incompatible Timesharing System|ITS||Incompatible Timesharing System}}; ({{lang-en|schemer}} — «авантюрист», «комбинатор»; видимо, намёк на другие лиспообразные языки, вышедшие из MIT — [[Planner]] (в одном из значений — «прожектёр») и [[Conniver]] («потворщик»)). Значительный вклад в популяризацию языка внесла книга [[Абельсон, Гарольд|Абельсона]] и Сассмана «[[Структура и интерпретация компьютерных программ]]», длительное время использовавшаяся как базовый учебник программирования в Массачусетском технологическом институте.&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
Простые математические операции:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;scheme&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
(+ 2 (* 2 2))&lt;br /&gt;
&amp;gt; 6&lt;br /&gt;
(+ 1 2 3 4)&lt;br /&gt;
&amp;gt; 10&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Вызов каждой операции (или функции) представляется списком, в котором символ операции (который, в сущности, является именем функции) всегда занимает начальную позицию.&lt;br /&gt;
&lt;br /&gt;
Предикаты типа:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;scheme&amp;quot;&amp;gt;&lt;br /&gt;
(number? 5)&lt;br /&gt;
(number? &amp;quot;foo&amp;quot;)&lt;br /&gt;
(string? &amp;quot;foo&amp;quot;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По соглашению, имена всех [[предикат]]ов заканчиваются символом &amp;lt;code&amp;gt;?&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Проверки на равенство:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;scheme&amp;quot;&amp;gt;&lt;br /&gt;
(equal? &amp;quot;foo&amp;quot; &amp;quot;bar&amp;quot;)&lt;br /&gt;
(eqv? 5 (+ 2 3))&lt;br /&gt;
(eq? &amp;#039;a &amp;#039;A)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Определение макросов для традиционных операций push и pop:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;scheme&amp;quot;&amp;gt;&lt;br /&gt;
(define-syntax push!&lt;br /&gt;
  (syntax-rules ()&lt;br /&gt;
    ((push! x l)&lt;br /&gt;
     (set! l (cons x l)))))&lt;br /&gt;
&lt;br /&gt;
(define-syntax pop!&lt;br /&gt;
  (syntax-rules ()&lt;br /&gt;
    ((pop! l)&lt;br /&gt;
     (let ((x (car l)))&lt;br /&gt;
       (set! l (cdr l))&lt;br /&gt;
       x))))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Определение функций:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;scheme&amp;quot;&amp;gt;&lt;br /&gt;
;; факториал в (неэффективном) рекурсивном стиле&lt;br /&gt;
(define (fact x)&lt;br /&gt;
  (if (&amp;lt; x 2)&lt;br /&gt;
      1&lt;br /&gt;
      (* (fact (- x 1)) x)))&lt;br /&gt;
&lt;br /&gt;
;; функция Фибоначчи — требует параллельной рекурсии&lt;br /&gt;
(define (fib n)&lt;br /&gt;
  (cond ((= n 0) 0)&lt;br /&gt;
        ((= n 1) 1)&lt;br /&gt;
        (else (+ (fib (- n 1))&lt;br /&gt;
                 (fib (- n 2))))))&lt;br /&gt;
&lt;br /&gt;
;; сумма элементов списка в характерном для Scheme стиле&lt;br /&gt;
;; (вспомогательная функция loop выражает цикл с помощью&lt;br /&gt;
;; хвостовой рекурсии и переменной-аккумулятора)&lt;br /&gt;
(define (sum-list x)&lt;br /&gt;
  (let loop ((x x) (n 0))&lt;br /&gt;
    (if (null? x)&lt;br /&gt;
        n&lt;br /&gt;
        (loop (cdr x) (+ (car x) n)))))&lt;br /&gt;
&lt;br /&gt;
(fact 14)&lt;br /&gt;
(fib 10)&lt;br /&gt;
(sum-list &amp;#039;(6 8 100))&lt;br /&gt;
(sum-list (map fib &amp;#039;(1 2 3 4)))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Определение функции должно соответствовать следующему прототипу:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;scheme&amp;quot;&amp;gt;&lt;br /&gt;
(define имя-функции (lambda (аргументы) (реализация-функции)))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
хотя на практике чаще используют сокращённую форму:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;scheme&amp;quot;&amp;gt;&lt;br /&gt;
(define (имя-функции аргументы) (реализация-функции))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ввод-вывод ==&lt;br /&gt;
Для ввода и вывода в Scheme используется тип «порт» (&amp;lt;code&amp;gt;port&amp;lt;/code&amp;gt;, R5RS sec 6.6)&amp;lt;ref name=&amp;quot;r5rs&amp;quot;&amp;gt;{{статья |заглавие=Revised&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; Report on the Algorithmic Language Scheme |ссылка=http://www.schemers.org/Documents/Standards/R5RS/ |издание=Higher-Order and Symbolic Computation |том=11 |номер=1 |страницы=7—105 |doi=10.1023/A:1010051815785 |access-date=2012-08-09 |язык=en |тип=journal |автор=Richard Kelsey; William Clinger; Jonathan Rees; Rozas, G.J.; Adams Iv, N.I.; Friedman, D.P.; Kohlbecker, E.; Steele Jr., G.L.; Bartley, D.H. |месяц=8 |год=1998 |archive-date=2007-01-05 |archive-url=https://web.archive.org/web/20070105152327/http://www.schemers.org/Documents/Standards/R5RS/ }}&amp;lt;/ref&amp;gt;. R5RS определяет два стандартных порта, доступные как &amp;lt;code&amp;gt;current-input-port&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;current-output-port&amp;lt;/code&amp;gt;, отвечающие [[Стандартные потоки|стандартным потокам ввода-вывода]] Unix. Большинство реализаций также предоставляют &amp;lt;code&amp;gt;current-error-port&amp;lt;/code&amp;gt;. [[Перенаправление ввода-вывода]] поддерживается в стандарте с помощью процедур &amp;lt;code&amp;gt;with-input-from-file&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;with-output-to-file&amp;lt;/code&amp;gt;. У реализаций также имеются строковые порты, с помощью которых многие операции ввода-вывода могут выполняться со строковым буфером вместо файла, используя процедуры из SRFI 6&amp;lt;ref name=&amp;quot;srfi-6&amp;quot;&amp;gt;{{cite web |publisher=The SRFI Editors, schemers.org |author=William D Clinger |date=1999-07-01 |title=SRFI 6: Basic String Ports |url=http://srfi.schemers.org/srfi-6/srfi-6.html |access-date=2012-08-09 |archive-date=2021-10-21 |archive-url=https://web.archive.org/web/20211021131859/https://srfi.schemers.org/srfi-6/srfi-6.html |url-status=live }}&amp;lt;/ref&amp;gt;. Стандарт R6RS определяет более сложные процедуры для работы с портами и много новых типов портов.&lt;br /&gt;
&lt;br /&gt;
Следующие примеры написаны на R5RS Scheme.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;scheme&amp;quot;&amp;gt;&lt;br /&gt;
(write (+ (read) (read)))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вывод в порт по умолчанию (current-output-port):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Scheme&amp;quot;&amp;gt;&lt;br /&gt;
(let ((hello0 (lambda() (display &amp;quot;Hello world&amp;quot;) (newline))))&lt;br /&gt;
  (hello0))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Передача порта в качестве аргумента:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Scheme&amp;quot;&amp;gt;&lt;br /&gt;
(let ((hello1 (lambda (p) (display &amp;quot;Hello world&amp;quot; p) (newline p))))&lt;br /&gt;
  (hello1 (current-output-port)))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Перенаправление вывода в файл:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Scheme&amp;quot;&amp;gt;&lt;br /&gt;
(let ((hello0 (lambda () (display &amp;quot;Hello world&amp;quot;) (newline))))&lt;br /&gt;
  (with-output-to-file &amp;quot;outputfile&amp;quot; hello0))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Явное открытие файла и закрытие порта:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Scheme&amp;quot;&amp;gt;&lt;br /&gt;
(let ((hello1 (lambda (p) (display &amp;quot;Hello world&amp;quot; p) (newline p)))&lt;br /&gt;
      (output-port (open-output-file &amp;quot;outputfile&amp;quot;)))&lt;br /&gt;
  (hello1 output-port)&lt;br /&gt;
  (close-output-port output-port)&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
call-with-output-file:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Scheme&amp;quot;&amp;gt;&lt;br /&gt;
(let ((hello1 (lambda (p) (display &amp;quot;Hello world&amp;quot; p) (newline p))))&lt;br /&gt;
  (call-with-output-file &amp;quot;outputfile&amp;quot; hello1))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Подобные процедуры есть и для ввода. R5RS Scheme предоставляет предикаты &amp;lt;code&amp;gt;input-port?&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;output-port?&amp;lt;/code&amp;gt;. Для символьного ввода и вывода существуют &amp;lt;code&amp;gt;write-char&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;read-char&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;peek-char&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;char-ready?&amp;lt;/code&amp;gt;. Для чтения и записи выражений Scheme используются процедуры &amp;lt;code&amp;gt;read&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt;. Если порт достиг конца файла при операции чтения, возвращается eof-объект, который может быть распознан предикатом &amp;lt;code&amp;gt;eof-object?&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== SRFI ==&lt;br /&gt;
Из-за минимализма языка многие общие процедуры и синтаксические формы не определены в стандарте. Для того, чтобы сохранить ядро языка малым и способствовать стандартизации расширений, в сообществе Scheme принят процесс «Scheme Request for Implementation» (запрос на реализацию), с помощью которого предлагаемые расширения проходят тщательное обсуждение. Это способствует переносимости кода. Многие SRFI поддерживаются всеми или большинством реализаций Scheme.&lt;br /&gt;
&lt;br /&gt;
Достаточно широко поддерживаются реализациями следующие SRFI&amp;lt;ref name=&amp;quot;srfi_support&amp;quot;&amp;gt;{{cite web |publisher=The SRFI Editors, schemers.org |date=2009-08-30 |url=http://srfi.schemers.org/srfi-implementers.html |title=Scheme Systems Supporting SRFIs |access-date=2012-08-09 |archive-date=2021-06-20 |archive-url=https://web.archive.org/web/20210620154132/https://srfi.schemers.org/srfi-implementers.html |url-status=live }}&amp;lt;/ref&amp;gt;:&lt;br /&gt;
* 0: проверка наличия расширений с помощью &amp;lt;code&amp;gt;cond-expand&amp;lt;/code&amp;gt;&lt;br /&gt;
* 1: библиотека для списков&lt;br /&gt;
* 4: гомогенные числовые векторы&lt;br /&gt;
* 6: строковые порты&lt;br /&gt;
* 8: &amp;lt;code&amp;gt;receive&amp;lt;/code&amp;gt;: привязка к нескольким значениям&lt;br /&gt;
* 9: record типы&lt;br /&gt;
* 13: библиотека для строк&lt;br /&gt;
* 14: библиотека наборов символов&lt;br /&gt;
* 16: синтаксис для процедур переменной [[Арность|арности]]&lt;br /&gt;
* 17: обобщенный &amp;lt;code&amp;gt;set!&amp;lt;/code&amp;gt;&lt;br /&gt;
* 18: поддержка многопоточности&lt;br /&gt;
* 19: типы данных и процедуры работы со временем&lt;br /&gt;
* 25: многомерные массивы&lt;br /&gt;
* 26: нотация для фиксации аргументов процедуры без [[Каррирование|каррирования]]&lt;br /&gt;
* 27: источники случайных битов&lt;br /&gt;
* 28: базовое форматирование строк&lt;br /&gt;
* 29: локализация&lt;br /&gt;
* 30: вложенные многострочные комментарии&lt;br /&gt;
* 31: специальная форма рекурсивного выполнения&lt;br /&gt;
* 37: &amp;lt;code&amp;gt;args-fold&amp;lt;/code&amp;gt;: процессор аргументов программы&lt;br /&gt;
* 39: parameter objects&lt;br /&gt;
* 41: [[Поток данных|потоки данных]]&lt;br /&gt;
* 42: [[Списковое включение|eager comprehensions]]&lt;br /&gt;
* 43: библиотека векторов&lt;br /&gt;
* 45: примитивы для выражения ленивых итерационных алгоритмов&lt;br /&gt;
* 60: битовые операции&lt;br /&gt;
* 61: более общий &amp;lt;code&amp;gt;cond&amp;lt;/code&amp;gt;&lt;br /&gt;
* 66: векторы октетов&lt;br /&gt;
* 67: процедуры сравнения&lt;br /&gt;
&lt;br /&gt;
== Основные реализации ==&lt;br /&gt;
[[GNU Guile]] — язык расширений [[GNU|проекта GNU]] — интерпретатор Scheme, реализованный как библиотека, позволяющая приложениям создавать внутренний интерпретатор Scheme.&lt;br /&gt;
&lt;br /&gt;
Язык [[Racket (язык программирования)|Racket]] изначально являлся реализацией Scheme (первое наименование — PLT Scheme).&lt;br /&gt;
&lt;br /&gt;
[[MIT Scheme]] — [[Свободное программное обеспечение|свободная]] ([[GPL]]) реализация для платформы [[x86]] под [[Linux]], [[FreeBSD]], [[OS/2|IBM OS/2]], и [[Win32]].&lt;br /&gt;
&lt;br /&gt;
{{iw|Chicken Scheme}} — интерпретатор, поддерживающий трансляцию в [[Си (язык программирования)|Си]].&lt;br /&gt;
&lt;br /&gt;
[[JScheme]] — интерпретатор, написанный на [[Java]];&lt;br /&gt;
&lt;br /&gt;
[[Kawa]] — компилятор Scheme в байт-код [[JVM]].&lt;br /&gt;
&lt;br /&gt;
Компилятор [[Chez Scheme]] длительное время поставлялся как коммерческий продукт, с 2016 года стал свободно распространяемым ([[Лицензия Apache|Apache]]).&lt;br /&gt;
&lt;br /&gt;
Всего существует большое количество реализаций языка для разных платформ, в частности, есть интерпретатор Armpit Scheme для микроконтроллеров на базе [[ARM (архитектура)|архитектуры ARM]]&amp;lt;ref&amp;gt;{{Cite web |url=http://armpit.sourceforge.net/ |title=A Scheme Interpreter for ARM Microcontrollers |access-date=2014-12-30 |archive-date=2014-12-30 |archive-url=https://web.archive.org/web/20141230151859/http://armpit.sourceforge.net/ |url-status=live }}&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
{{примечания}}&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
* [http://mitpress.mit.edu/sicp/ Structure and Interpretation of Computer Programs]{{ref|en}}&lt;br /&gt;
* [http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/ Видео-лекции «Structure and Interpretation of Computer Programs»], Harold Abelson и Gerald Jay Sussman{{ref|en}}&lt;br /&gt;
* [http://www.scheme.com/tspl4/ The Scheme Programming Language], R. Kent Dybvig{{ref|en}}&lt;br /&gt;
* [http://htdp.org/2020-8-1/Book/index.html Учебник HtDP (How to Design Programs, Second Edition)]&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
{{викиучебник|Введение в язык Scheme для школьников}}&lt;br /&gt;
* [http://www.schemers.org/ A large collection of Scheme resources]. Большая коллекция ресурсов по Scheme.&lt;br /&gt;
* [https://web.archive.org/web/20190926062824/http://community.schemewiki.org/ Сообщество schemewiki.org]&lt;br /&gt;
&lt;br /&gt;
{{Лисп}}&lt;br /&gt;
{{rq|&lt;br /&gt;
{{переработать|дата=2009-11-27}}&lt;br /&gt;
{{стиль статьи|дата=2009-11-27}}&lt;br /&gt;
{{обновить|дата=2009-11-27}}&lt;br /&gt;
{{нет сносок|дата=2009-11-27}}&lt;br /&gt;
}}&lt;br /&gt;
{{перевести|en|Scheme}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Scheme| ]]&lt;br /&gt;
[[Категория:Языки программирования семейства Лиспа]]&lt;br /&gt;
[[Категория:Языки программирования для образования]]&lt;br /&gt;
[[Категория:Языки программирования с автоматическим управлением памятью]]&lt;br /&gt;
[[Категория:Реализации языка программирования Scheme|*]]&lt;/div&gt;</summary>
		<author><name>imported&gt;MBHbot</name></author>
	</entry>
</feed>