Началось голосование по новому стандарту языка программирования Scheme R7RS
19 апреля 2013 года
![](http://upload.wikimedia.org/wikipedia/commons/thumb/3/39/Lambda_lc.svg/250px-Lambda_lc.svg.png)
В списке рассылки Scheme-reports появилось сообщение о начале голосования по стандарту «маленького языка» Scheme R7RS. Ожидалось, что разработка стандарта «маленького языка» рабочей группой 1 будет завершена за 18 месяцев, то есть 20 июня 2011 года, однако конечная версия отчёта была представлена только сейчас. Эталонной реализацией данного стандарта является интерпретатор Chibi-Scheme.
Язык программирования Scheme — один из самых старых вариантов языка Lisp, используемых до сих пор. В начале язык Scheme использовался при обучении программированию, однако в настоящее время это язык общего назначения.
Первоначальная версия языка Scheme была создана в середине 1970-х годов Гаем Стилом (англ. Guy L. Steele, Jr.) и Джеральдом Сассменом (англ. Gerald Jay Sussman) из Массачусетского технологического института, а официальный стандарт IEEE P1178 был опубликован в 1991 году. Однако в настоящее время вместо фактическим стандартом являются документы «Revisedn Report on the Algorithmic Language Scheme» (RnRS, то есть «n раз пересмотренный отчёт об алгоритмическом языке Scheme»), которые издаются сообществом разработчиков раз в несколько лет.
Традиционно важной чертой языка Scheme был минимализм: он предоставлял минимум самых необходимых элементов, на основе которых можно построить полноценную систему программирования. Последняя версия отчёта, R6RS от 28 августа 2007 года, однако, значительно отличалась от предыдущих: поставив цель обеспечить совместимость различных версий, она оговаривала значительно большую стандартную библиотеку и систему макросов syntax-case
, плохо совместимую с некоторыми реализациями. Поэтому многие реализации (например, Chicken Scheme) ориентируются на предыдущий стандарт R5RS, а большинство же (Guile, Kawa) реализует R6RS частично.
R6RS часто критикуют за чрезмерную сложность, поэтому было решено разделить R7RS на два языка: «маленький язык» и «большой» (для разработки которых были созданы первая и вторая рабочая группа соответственно). Маленький будет содержать необходимый минимум функций и будет ближе к R5RS, большой же будет надмножеством маленького и будет похож на R6RS.
В данный момент начато голосование о принятии предварительной версии маленького языка «Revised7 Report on the Algorithmic Language Scheme».