Re[29]: Являются ли макросы свидетельством недостаточной выр
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 06.08.07 09:22
Оценка: 77 (3)
Здравствуйте, Klapaucius, Вы писали:

K>Честно говоря, принимая во внимание лисповский синтаксис и общую идеологию code is data is code, я вообще с трудом представляю, зачем в LISP нужно (квази)цитирование, как я его понимаю. И термин этот вместе с LISP вообще очень редко встречается. Но я не поленился и поискал статьи по этой теме на CiteSeer. Да, статьи по квазицитированию в LISP есть. Самая старая, что я нашел — 1999 года.


Если эта статья -- Alan Bawden. Quasiquotation in Lisp, то поглядите там раздел History.

В двух словах. Сам термин квазицитирование придуман в 40-х Квином (W.V.O.Quine) -- тем самым логиком, по имени которого называют программы, выводящие свой собственный код. В пралиспе МакКарти (60-е) квазицитирования не было (видимо, он тоже не понимал зачем оно нужно в лиспе). Развитие ИИ в 60-70х, опыт работы с S-expressions привели к тому, что многие лисп-системы поимели новые техники -- в статье говорится о ПМ над S-expr (видимо аналог схемовского syntax-rules) и template instantiation — в общем уже близко в quote/unquote. Наиболее близким аналогом квазицитирования в те годы была нотация языка Conniver (кстати — один из разработчиков — Сусман). Там даже сплайсинг (,@) был. Это у нас 1972 год. Сам Bawden подрубился в 1977 году. Он заявляет, что тогда уже квазицитирование было. В конце 80х оно появилось в стандартах CL и Scheme.

Хотя к предмету спора это и имеет мало отношения.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.