Здравствуйте, Evgeny.Panasyuk, Вы писали:
ГВ>>>>То есть в "типовых" случаях, приводиимых для иллюстрации использования DSL, сам DSL — сугубо вторичная задача по отношению к какой-то ещё, к тому, что зашифровано под буквой D — domain. И если первичная задача поставлена и так или иначе решается, то создать DSL под неё обычно не представляет большой проблемы. EP>>>Для этого требуется самая малость — возможность встраивать DSL в хост-язык, то есть поддержка Embedded DSL — EDSL. ГВ>>Внезапно: это нужно для того, чтобы встроить DSL в хостовый язык, но никак не для того, чтобы сформулировать сам DSL. Разницу понимаешь? EP>Я разницу понимаю, и очень удобно когда есть EDSL в хост-языке, за счёт тесной интеграции с остальным кодом. EP>Сформулировать же DSL можно хоть на бумаге — только что дальше делать-то?
А это уже не проблема, а мелкие технические трудности: плюс-минус парсер и генератор. Проблема — обнаружить задачи, ради которых именно нужен DSL, как отдельная сущность. Поэтому тезис о том, что Nemerle позволяет писать встроенные DSL, звучит как попытка выпятить относительно редко используемый подход.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!