[identity profile] cross-join.livejournal.com 2014-10-07 10:06 am (UTC)(link)
А зачем реализовывать на Лиспе, если можно без Лиспа, обычным препроцессором?

[identity profile] metaclass.livejournal.com 2014-10-07 10:17 am (UTC)(link)
Препроцессор математически не гуманен.

Все эти корявые строково-файловые недоязыки (препроцессоры, баши, сборочные системы и прочее такое) вечно пишут в стиле "ой, нам тут DSL для костылей очередной понадобился, давайте напишем как умеем". А потом там то scope переменных вида "переменные окружения видны везде, а внутренние переменные нужно передавать явно, хотя неймспейс один на всех", то в подпроцедуры параметры передаются в виде $1 $2 $3 и прочее такое.
В лиспе с хаскелем хотя бы система видна, у остальных же адхок содомия.


[identity profile] cross-join.livejournal.com 2014-10-07 10:23 am (UTC)(link)
Отличия между реализацией предметного языка на препроцессоре или на Лиспе очень небольшие и непринципиальные. В обоих случаях - адхок-надстройка
Вот если проектируется свой язык с грамматикой и транслятором - тогда да.

[identity profile] jakobz.livejournal.com 2014-10-07 10:17 am (UTC)(link)
Ну, например потому что лисп (или какой-либо еще язык программирования), все-равно нужен в проекте - значит разработчики знают синтаксис, наверняка возможен какой-то реюз кода, проще интеграция в инфраструктуру, полноценный язык имеет больше фичей и таит меньше загадочных сюрпризов.

[identity profile] cross-join.livejournal.com 2014-10-07 10:21 am (UTC)(link)
Это не так. Языком является система макросов, которую можно реализовать как препроцессором, так и на Лиспе. Во втором случае знание Лиспа является дополнительным условием, усложняющим разработку.