Оглавление
Схема (язык программирования)
-
История и развитие Scheme
- Scheme – это функциональный язык программирования, разработанный в 1975 году.
- Он был создан для преподавания и исследований в области компьютерных наук и изначально назывался “Лисп для математиков”.
- В 1984 году был опубликован первый стандарт Scheme, R1RS, который был разработан в MIT.
- R1RS был расширен до R2RS в 1986 году и R3RS в 1990 году, а затем до R4RS в 1996 году.
- R5RS был опубликован в 2003 году и стал последним стандартом Scheme, который был принят в качестве стандарта ISO.
- R6RS был опубликован в 2016 году и представляет собой расширение R5RS, которое включает в себя новые функции и улучшения.
-
Особенности и синтаксис Scheme
- Схема имеет простой и лаконичный синтаксис, основанный на лямбда-исчислении.
- Она поддерживает рекурсию, обработку списков и обработку исключений.
- Схема не имеет операторов присваивания, а использует процедуры для изменения значений.
- Она не имеет операторов сравнения, а использует предикаты для проверки эквивалентности.
-
Стандарты и реализация
- R5RS является последним официальным стандартом Scheme, принятым ISO.
- Существуют различные реализации Scheme, включая Racket, Guile и Chicken.
- R6RS расширяет R5RS, добавляя новые функции и улучшения.
-
Расширения и макросистемы
- Схема поддерживает макросистемы, которые позволяют расширять язык.
- R5RS представил гигиеническую макросистему, а R6RS расширил ее, добавив синтаксис-case.
- Существуют дополнительные макросистемы, такие как синтаксические замыкания и define-macro.
-
Оценка и обработка данных
- R5RS устраняет путаницу в оценке выражений, предоставляя процедуры для оценки выражений в заданных средах.
- Схема имеет нелогичное поведение в отношении значений NIL и логических выражений.
- Примитивные типы данных в Scheme не пересекаются, в отличие от других языков.
-
Комментарии и ввод/вывод
- Стандарт R5RS вводит комментарии, которые могут быть закомментированы или блочными.
- Ввод/вывод в Scheme основан на типе данных порта.
- Пересказана только часть статьи. Для продолжения перейдите к чтению оригинала.
Полный текст статьи: