Оглавление
M-выражение
-
История M-выражений
- M-выражения были предложенным синтаксисом для языка Lisp, вдохновленным Fortran и ALGOL.
- M-выражения не были внедрены в язык и не получили широкого распространения.
-
Синтаксис и использование
- M-выражения предоставляли функциональную нотацию, синтаксис для cond и встраивание литеральных данных.
- M-выражения использовали S-выражения для буквальных данных.
- Код вручную переводился из M-выражений в S-выражения.
-
Разработка и принятие
- Джон Маккарти предложил M-выражения в 1960 году.
- Стивен Б. Рассел и Дэниел Дж. Эдвардс разработали интерпретатор для S-выражений, что сделало их доминирующей формой Лиспа.
- Маккарти не одобрил идею S-выражений, но проект был принят.
-
Дальнейшие разработки
- MLisp был проектом по реализации интерфейса, подобного M-выражениям.
- M-LISP был попыткой объединить M-выражения со схемой.
- CGOL был реализован в MacLisp и работает на Armed Bear Common Lisp.
- I-выражения использовали отступ для неявного указания круглых скобок.
- “Сладкое” t-выражение содержит инфиксные операторы без приоритета.
-
Современные реализации
- Синтаксический анализатор для M-выражений доступен в Common Lisp.
- Дополнительные синтаксические функции включают Dylan от Apple и добавление Clojure других буквальных синтаксисов.