stringtranslate.com

МЛисп

«MLisp» — это также другое название Mocklisp , урезанной версии Lisp, используемой в качестве языка расширения в Gosling Emacs .

MLISP — это вариант Lisp с синтаксисом, подобным Algol , основанным на M-Expressions , которые были синтаксисом функций в оригинальном описании Lisp Джоном Маккарти . М-выражения Маккарти никогда не были реализованы в точной форме. [1]

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

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

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

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

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

Было множество реализаций Lisp с инфиксной записью и Lisp-подобных или производных от Lisp языков. Некоторые известные примеры включают в себя:

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

  1. ^ Энеа, Гораций (1968) MLISP CS-TR-68-92.pdf
  2. ^ Смит, Дэвид Кэнфилд (1970) РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ MLISP Smith-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 с редукционной семантикой (кандидатская диссертация).