Scheme
Реализации:
- Guile (Проект GNU + встраиваемость в си)
- MIT Scheme (Стандартная схема)
- BigLoo (C++ like)
- Racket (Python like batteries)
- Chibi Scheme (Встраиваемость в си, маленький размер)
Разница между функциями и макросами:
- В функции вычисляются все аргументы перед применением
- В макросе аргументы не вычисляются
Квозиквот (quaziquote):
- Вычисляет аргументы списка
`(1 2 ,(+ 1 2)) ; => '(1 2 3)
Сплайсинг:
- Разворачивает список внутрь существующего
`(1 2 ,@(map 1+ '(2 3))) ; => '(1 2 3 4)
Guile Expression Syntax Manual
SRFI (Scheme Request For Implementation):
Веб-ресурсы:
Статьи:
Книги:
- https://www.scheme.com/tspl4/
- https://freecomputerbooks.com/langSchemeBooks.html
- Simply Scheme: Introducing Computer Science
Научные статьи:
Достоинства:
- Есть стандарт и он маленький (~40 стр)
- Есть много реализаций и стандарт просто реализовать
Недостатки:
- Менее динамичен по сравнению с Common Lisp (geiser < Slime)
Проекты:
Примеры
Книги
- Teach yourself Scheme in Fixnum days
- Little Schemer
- Seasoned Schemer
Люди
- Gerald Sussman
- Guy Steele
- Friedman