MLisp - MLisp

"MLisp" - это еще одно название для Моклисп, урезанная версия Lisp, используемая в качестве языка расширения в Гослинг Emacs.

МЛИСП это вариант Лисп с Алгол -подобный синтаксис на основе М-выражения, которые были синтаксисом функции в исходном описании Лиспа Джон Маккарти. М-выражения Маккарти никогда не были реализованы в точной форме.[1]

MLISP был впервые реализован для IBM 360 к Гораций Энеа а затем переопределен для PDP 10 Дэвида Кэнфилда Смита. Эта вторая реализация также поддерживала особый вид лямбда-выражений ("FEXPR "), которые не оценивают свои аргументы. Как в Лисп-1 или же Схема, было единое пространство имен для переменных и функций.[2]

Хотя MLISP был всего лишь препроцессором с альтернативным, более удобным для чтения синтаксисом Lisp, его потомок МЛИСП 2 введены новые концепции:[3]

MLISP2 авторы назвали переходным языком. Ларри Теслер улучшена система сопоставления с образцом для реализации языка-преемника, называемого LISP70, который был доработан только до предварительной версии. Хотя этот путь эволюции LISP широко игнорируется, он напоминает некоторые особенности, позже обнаруженные в ML или Схема.[5]

M-LISP (MetaLISP) Роберта Мюллера - несвязанный язык 1989-1992 годов. Это был «гибрид М-выражение LISP и Схема ".[6][7]

Пример

MLISP2 / LISP70

M-LISP

Смотрите также

Было несколько реализаций Лиспа с инфиксной нотацией и языков, подобных Лиспу, или языков, производных от Лиспа. Вот некоторые известные примеры:

Рекомендации

  1. ^ Энеа, Гораций (1968) MLISP CS-TR-68-92.pdf
  2. ^ Смит, Дэвид Кэнфилд (1970) РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ MLISP Смит-MLISP-AIM-84.pdf (рекомендуется в первую очередь)
  3. ^ Смит, Дэвид Кэнфилд и Энеа, Гораций Дж. (1973) MLISP 2 CS-TR-73-356.pdf
  4. ^ Смит, Дэвид Кэнфилд и Энеа, Гораций Дж. (1973) Отслеживание с возвратом в MLISP2: эффективный метод отслеживания с возвратом для LISP 074.pdf
  5. ^ Теслер, Лоуренс Г., Смит, Дэвид Кэнфилд и Энеа, Гораций Дж. (1973) Система сопоставления с образцом LISP70 073.pdf
  6. ^ Мюллер, Роберт (октябрь 1992 г.). «M-LISP: независимый от представления диалект LISP с редукционной семантикой». Транзакции ACM по языкам и системам программирования. 14 (4): 589–616. CiteSeerX  10.1.1.40.4948. Дои:10.1145/133233.133254.
  7. ^ Мюллер, Роберт (1989). MetaLISP: независимый от представления диалект LISP с редукционной семантикой (Кандидатская диссертация).