Re[9]: За счет чего выстреливают языки?
От: Mamut Швеция http://dmitriid.com
Дата: 14.07.15 20:44
Оценка: 1 (1) :)
ГВ>А это уже не проблема, а мелкие технические трудности: плюс-минус парсер и генератор. Проблема — обнаружить задачи, ради которых именно нужен DSL, как отдельная сущность. Поэтому тезис о том, что Nemerle позволяет писать встроенные DSL, звучит как попытка выпятить относительно редко используемый подход.

Плюс есть дополнительные сложности, о которых никто не хочет говорить:
— как эти DSL'и дебажить?
— как находить в них ошибки?
— как доказывать правильность этих DSL'ей?
— как тестировать программы, на них написаные?
— как их встраивать?
— как поддерживать удобство для пользователей этих DSL'ей (поддержка IDE и прочая)

и еще вагон и маленькая тележка таких вопросов.

То есть сама по себе сложность написания DSL'ей вообще, имхо, в современном мире не стоит, о чем нам говорит стопятьсот языков, которые появляются каждый день. Языконаписательство уже давно не является сложной задачей. А вот использование этих языков — это большой вопрос (вопросы), на которые нет ответа даже у самых ярых апологетов DSLей.

ЗЫ. Для того же regexp'а до сих пор не придумано ничего лучше http://regex101.com (и то он появился только относительно недавно), а дебагить SQL может, по-моему, только MS (и то я их дебаггером не пользовался, так что не могу сказать). И это — стопятьсот лет известные и всеми используемые DSL'и. Что уж говорить о наколенных?


dmitriid.comGitHubLinkedIn
Re[10]: За счет чего выстреливают языки?
От: WolfHound  
Дата: 14.07.15 22:10
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Плюс есть дополнительные сложности, о которых никто не хочет говорить:

Давно всё сказано. Но не услышано.

M>- как эти DSL'и дебажить?

Отладчиком.

M>- как находить в них ошибки?

Как в обычном коде.

M>- как доказывать правильность этих DSL'ей?

Динамически типизированный свистит про доказательства... ну начни с доказательства правильности эрланга.

M>- как тестировать программы, на них написаные?

Как обычные.

M>- как их встраивать?

Сами встраиваются.

M>- как поддерживать удобство для пользователей этих DSL'ей (поддержка IDE и прочая)

Из коробки.

M>А вот использование этих языков — это большой вопрос (вопросы), на которые нет ответа даже у самых ярых апологетов DSLей.

Может, ты читать начнешь, что тебе пишут?
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[6]: За счет чего выстреливают языки?
От: m.aksenov Россия http://maksenov.info/
Дата: 15.07.15 05:01
Оценка: 28 (2) +2
Здравствуйте, Mamut, Вы писали:

M>У ClojureScript с Om'ом не опустились (и люди делают на нем охрененные вещи).


У Clojure + ClojureScript есть Хики и Нолен. Уже этих двоих достаточно, чтобы заинтересовать людей,
потому что Рич и Дэвид умеют презентовать свои идеи очень доходчиво simple made easy.

Проблема NemerleWeb в том, что я вообще не увидел его ниши в сложных веб-приложениях:
1) Typings тайпскрипта не всегда адекватные + есть не для всего, что полезно. Для OpenLayers версии > 2.11 вроде как еще нет,
а интероп с джаваскриптом не очень красиво выглядит.
2) Архитектурно MVVM мне не очень близок, идеи Flux (+ Reflux) или Elm выглядят интереснее.

Сразу, кстати, возникает вопрос: а как этот фреймворк живет с CommonJS или AMD? Потому что в том
же тайпскрипте из-за просто фееричной реализации работа с модулями — ад и от них проще отказаться,
чем заморачиваться.

NemerleWeb бы может и нашел фанатов, но подача фреймворка без адекватных примеров и документации не
имеет смысла. А когда потенциальному пользователю просто показывают файлик с каким-то там кодом,
который хрен пойми как запустить... Ну, пользователь подумает-подумает и пойдет смотреть на
работающие фреймворки, которые можно установить и запустить парой команд из консоли.
Re[5]: За счет чего выстреливают языки?
От: Mazay Россия  
Дата: 15.07.15 05:52
Оценка:
Здравствуйте, VladD2, Вы писали:

M>>Немерл пытается жить в мире Микрософт. А там живут только с высочайшего соизволения. Если бы Nemerle работал на открытых платформах, то его гораздо охотнее бы использовали.


VD>И что помешало стать мэйнстримом Скале? А, на Раст или Ди почему толпы не переходят?


Я могут сказать почему на Раст и Ди не переходят толпы HPC-шников. Потому что они генерят медленный код. Чтобы вынести из этой области С++ нужно отставание в производительности по любому тесту считать серьёзным багом. Так что это пока просто прототипы, а не законченные решения. Так что нельзя ожидать именно толп, переходящих на них. Но интерес к ним гораздо выше, чем к Немерлу. По крайней мере народ сподобился написать на них тесты для шутаута.
Главное гармония ...
Re[11]: За счет чего выстреливают языки?
От: Mamut Швеция http://dmitriid.com
Дата: 15.07.15 06:44
Оценка:
M>>Плюс есть дополнительные сложности, о которых никто не хочет говорить:
WH>Давно всё сказано. Но не услышано.

Ничего не сказано, кроеме твоего пафоса и оскорблений собеседников

M>>- как эти DSL'и дебажить?

WH>Отладчиком.

Который появится откуда?

M>>- как находить в них ошибки?

WH>Как в обычном коде.

Каким образом?

M>>- как доказывать правильность этих DSL'ей?

WH>Динамически типизированный свистит про доказательства... ну начни с доказательства правильности эрланга.

Ну да, зачем отвечать, если можно 1) оскорбить 2) перевести тему

M>>- как тестировать программы, на них написаные?

WH>Как обычные.

Подробнее

M>>- как их встраивать?

WH>Сами встраиваются.

Ложь

M>>- как поддерживать удобство для пользователей этих DSL'ей (поддержка IDE и прочая)

WH>Из коробки.

Ложь

M>>А вот использование этих языков — это большой вопрос (вопросы), на которые нет ответа даже у самых ярых апологетов DSLей.

WH>Может, ты читать начнешь, что тебе пишут?

Твою ложь читать?


dmitriid.comGitHubLinkedIn
Re[26]: За счет чего выстреливают языки?
От: DarkEld3r  
Дата: 15.07.15 09:22
Оценка:
Здравствуйте, alex_public, Вы писали:

_>Нуу скажем Swift (на мой вкус вполне приятная современная штука) в сравнение с убогим Objective-C как раз предлагает такой живой пример.

Как по мне, то приятен он разве что на фоне обжектив-С.

Ну и "история успеха" тут несколько специфическая. Обжектив-С был языком, по сути, одной платформы. Владелец платформы делает новый язык именно с целью заменить старый. Вкладывает деньги, пиарит и т.д. Результат закономерный и всё равно далеко не "моментальный".

Интересно будет понаблюдать как долго будут начинаться новые проекты на обжектив-С. И будет ли эпл насильно пересаживать на новый язык.
Re[2]: За счет чего выстреливают языки?
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 15.07.15 12:41
Оценка: :)
Здравствуйте, ELazin, Вы писали:

EL>Название языка не должно начинаться с "Nem" и заканчиваться на "erle".


... << RSDN@Home 1.2.0 alpha 5 rev. 76>>

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[12]: За счет чего выстреливают языки?
От: WolfHound  
Дата: 15.07.15 14:16
Оценка: +1
Здравствуйте, Mamut, Вы писали:

M>>>- как эти DSL'и дебажить?

WH>>Отладчиком.
M>Который появится откуда?
Который есть из коробки. Поставь немерле да посмотри.

M>>>- как находить в них ошибки?

WH>>Как в обычном коде.
M>Каким образом?
А как ты ошибки в обычном коде ищешь?

M>>>- как доказывать правильность этих DSL'ей?

WH>>Динамически типизированный свистит про доказательства... ну начни с доказательства правильности эрланга.
M>Ну да, зачем отвечать, если можно 1) оскорбить 2) перевести тему
Ты лицемер. То ты утверждаешь, что статическая типизация не нужна.
То доказательства подавай.

M>>>- как тестировать программы, на них написаные?

WH>>Как обычные.
M>Подробнее
Код на ДСЛ не отличается от любого кода.
И тестируется точно так же как любой код.

M>>>- как их встраивать?

WH>>Сами встраиваются.
M>Ложь
M>>>- как поддерживать удобство для пользователей этих DSL'ей (поддержка IDE и прочая)
WH>>Из коробки.
M>Ложь
Я этим каждый день пользуюсь.
Я ты продолжай ничего не видеть.
Так же проще.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[13]: За счет чего выстреливают языки?
От: Mamut Швеция http://dmitriid.com
Дата: 15.07.15 14:44
Оценка:
WH>Я этим каждый день пользуюсь.
WH>Я ты продолжай ничего не видеть.
WH>Так же проще.

Дело в том, что за последние нцать лет все, что от тебя слышно — это «я каждый день этим пользуюсь». И все.

Ну и сказки, что достаточно написать DSL, как в нем автоматически появятся:
— отладчик
— бесшовная связка (с чем-либо)
— поддержка разработчиков (IDE, инструментарий для тестирования и т.п.)
— и что правильность реализации этого DSL тоже видимо магическим образом из воздуха появится


WH> Поставь немерле да посмотри.


$ brew install nemerle
Error: No available formula for nemerle
Searching formulae...
Searching taps...

$ brew cask install nemerle
Error: No available Cask for nemerle
Error: nothing to install


Ладно. Полезем на Немерле, посмотрим, что он нам про это все говорит.

— На главной странице про DSL 3 упоминания.
— Поиск по репозиторию выдает 3 упоминания (включая TODO 2009-го года)
— Поиск по Wiki выдает чутка, где все описано максимально общими словами типа как тут

Но тут меня озарило! Ты ж наверное имеешь в виду макросы в немерле! И что ими можно наговнякать чего-то там, и тогда да — поддержка будет в IDE и дебаггера и прочее. Ну так бы сразу и сказал


dmitriid.comGitHubLinkedIn
Re[11]: За счет чего выстреливают языки?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.07.15 14:52
Оценка: :)
Здравствуйте, WolfHound, Вы писали:

M>>Плюс есть дополнительные сложности, о которых никто не хочет говорить:

WH>Давно всё сказано. Но не услышано.

На Nemerle свет клином не сошёлся. Никто не спорит с тем, что N имеет определённые преимущества перед другими средствами построения DSL. Вопрос в том, что сама по себе идея DSL воспринимается не так легко, как кому-то хотелось бы. Хотя о широком использовании предметно-ориентированных языков ещё, кажется, Вирт 100500 лет назад говорил.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[10]: За счет чего выстреливают языки?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.07.15 14:52
Оценка: +1
Здравствуйте, Mamut, Вы писали:

M>и еще вагон и маленькая тележка таких вопросов.


Собственно, да. "DSL вообще" воспринимается как слишком большое инфраструктурное изменение, чтобы с лёгкостью приходить к мысли о его построении.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[11]: За счет чего выстреливают языки?
От: WolfHound  
Дата: 15.07.15 15:27
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Собственно, да. "DSL вообще" воспринимается как слишком большое инфраструктурное изменение, чтобы с лёгкостью приходить к мысли о его построении.

Те мысль тратить в 10-1000 раз больше времени на разработку приходит гораздо легче?
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[12]: За счет чего выстреливают языки?
От: WolfHound  
Дата: 15.07.15 15:27
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>На Nemerle свет клином не сошёлся. Никто не спорит с тем, что N имеет определённые преимущества перед другими средствами построения DSL. Вопрос в том, что сама по себе идея DSL воспринимается не так легко, как кому-то хотелось бы. Хотя о широком использовании предметно-ориентированных языков ещё, кажется, Вирт 100500 лет назад говорил.

Любая большая библиотека сама по себе ДСЛ. Но очень кривой, многословный и обычно тормозной.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[14]: За счет чего выстреливают языки?
От: WolfHound  
Дата: 15.07.15 15:27
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Дело в том, что за последние нцать лет все, что от тебя слышно — это «я каждый день этим пользуюсь». И все.

Те за 6 лет ты ни разу не поставил немерле и не посмотрел?

M>Ну и сказки, что достаточно написать DSL, как в нем автоматически появятся:

M>- отладчик
M>- бесшовная связка (с чем-либо)
M>- поддержка разработчиков (IDE, инструментарий для тестирования и т.п.)
Именно так.

M>- и что правильность реализации этого DSL тоже видимо магическим образом из воздуха появится

А правильность эрланга, откуда берётся?

M>Но тут меня озарило! Ты ж наверное имеешь в виду макросы в немерле! И что ими можно наговнякать чего-то там, и тогда да — поддержка будет в IDE и дебаггера и прочее. Ну так бы сразу и сказал

Не суди других по себе.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[12]: За счет чего выстреливают языки?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.07.15 15:40
Оценка: +2
Здравствуйте, WolfHound, Вы писали:

ГВ>>Собственно, да. "DSL вообще" воспринимается как слишком большое инфраструктурное изменение, чтобы с лёгкостью приходить к мысли о его построении.

WH>Те мысль тратить в 10-1000 раз больше времени на разработку приходит гораздо легче?

С чего ты это взял? Если DSL на самом деле может настолько сократить время на разработку, то приходит, и ещё как!

Upd.: Ты сейчас как нельзя лучше подтверждаешь мои же слова:

При этом стиль, выбранный пропонентами того же Nemerle ("вы тут все дураки, и ничего не понимаете") скорее способствует активизации поисков в обратном направлении, чем вниманию к N.

Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Отредактировано 15.07.2015 15:53 Геннадий Васильев . Предыдущая версия .
Re[13]: За счет чего выстреливают языки?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.07.15 15:43
Оценка:
Здравствуйте, WolfHound, Вы писали:

ГВ>>На Nemerle свет клином не сошёлся. Никто не спорит с тем, что N имеет определённые преимущества перед другими средствами построения DSL. Вопрос в том, что сама по себе идея DSL воспринимается не так легко, как кому-то хотелось бы. Хотя о широком использовании предметно-ориентированных языков ещё, кажется, Вирт 100500 лет назад говорил.

WH>Любая большая библиотека сама по себе ДСЛ. Но очень кривой, многословный и обычно тормозной.

В точном смысле этого слова, как правило нет, поскольку API библиотеки редко проектируется, как самостоятельный DSL. Но с какой-то степенью приближения назвать его (API) таковым (DSL-ем) вполне можно, никто не запрещает.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[5]: За счет чего выстреливают языки?
От: jazzer Россия Skype: enerjazzer
Дата: 15.07.15 17:27
Оценка: 36 (2) +3
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>В принципе, не бесспорно, но в основном согласен. Однако, обрати внимание — почти во всех перечисленных тобой случаях хорошо очерчена задача, которую решает та или иная система, и эта задача выходит за пределы собственно построения DSL


Так я об этом и не говорил.
Просто вот я привел несколько примеров DSL-ей.
И вот тебе какой-то из этих DSL-ей понадобился в твоей задаче (или, скажем, дял твоей задачи у тебя есть свой собственный замечательный DSL на бумаге). Что ты будешь делать дальше? Как ты будешь сопрягать его с остальным кодом?

Вот возьмем, к примеру, регэкспы.
Каков стандартный сценарий использования? Просто вызов функции со строчкой-регэкспом.
Какая в этом случае степень сопряженности DSL с кодом-хозяином? А никакая. Ты не можешь сказать, что, мол, вот эту сматчившуюся группу положи в эту переменную, а ту — в другую. Надо звать еще кучу функций, чтобы достать то, что там внутри наматчилось (в перле с этим получше, но тоже не идеально). Если ты накосячил в регэкспе и он не имеет смысла (скажем, начинается с квантификатора, или использует несуществующую обратную ссылку) — ты об этом узнаешь только в рантайме, компилятор тебе никак не поможет. Я уж молчу про обработку ошибок матчинга. И уж тем более молчу про возможность расширения — а это с реальными распространенными DSL происходит сплошь и рядом — всегда находится, как подзаточить его, чтоб он лучше выражал твою задачу (собственно, поэтому математики постоянно изобретают себе подходящие к их задаче DSL — потому что это им ничего не стоит!)

ГВ>То есть в "типовых" случаях, приводимых для иллюстрации использования DSL, сам DSL — сугубо вторичная задача по отношению к какой-то ещё, к тому, что зашифровано под буквой D — domain. И если первичная задача поставлена и так или иначе решается, то создать DSL под неё обычно не представляет большой проблемы. Отсюда попытка сместить акценты в сторону самого построения DSL приводит слушателей, скажем так, в замешательство, т.к. контекст расширяется, и получается то, о чём я написал выше:


Нет, не так. Продолжая пример регэкспа — один и тот же DSL может быть как абсолютно чужеродным черным ящиком (просто строчкой и последующим невнятным API для извлечения результата) без какой-либо поддержки компилятора, так и полноценно встроенным подъязыком. В случае регэкспа я могу привести в качестве примера правильного сопряженного DSL реализацию Boost.Xpressive.
Во-первых, ты выражаешь свой регэксп прямо в своей плюсовом коде.
Во-вторых, благодаря первому он оказывается интегрирован с твоим окружением — типами, переменными и т.п.
В-третьих, ты получаешь проверку правильности синтаксиса во время компиляции.
В-четвертых, ты можешь расширить систему и навесить на нее свои плюшки, опять же в терминах языка-хозяина, т.е. к твоим услугам все уже имеющиеся у тебя функции/классы/шаблоны/объекты/... (в случае Boost.Xpressive это, например, semantic actions и symbol table)
Пример из доков (парсим пары вида (\w+)=>(\d+), с именами групп s1 и s2, т.е. (?P<s1>\w+)=>(?P<s2>\d+), и сохраняем результат в мапу прям в процессе):
// Match a word and an integer, separated by =>, and then stuff the result into a std::map<>
sregex pair = ( (s1= +_w) >> "=>" >> (s2= +_d) )
    [ _map[s1] = as<int>(s2) ];

// Match one or more word/integer pairs, separated by whitespace.
sregex rx = pair >> *(+_s >> pair);

в результате парсинга таким регэкспом строчки "aaa=>1 bbb=>23 ccc=>456" у тебя твоя мапа (типизированная!) заполнится соответствующими парами значений.

А теперь ты смотришь на это и говоришь — это все, конечно, хорошо, но это ж сколько визуального мусора! И тут я с тобой соглашусь (хоть его тут и не смертельно много) и мы придем к заявленной тобой выше теме — а какие, собственно, средства для построения полноценного (т.е. интегрируемого) DSL предоставляет С++ (да и почти любой другой язык)? И тут выясняется, что никаких.
Счастье, если в языке есть перегрузка операторов — тогда можно наваять библиотеку типа Boost.Proto, которая позволит создавать с ее помощью подъязыки типа Xpressive (она так и сделана, как и Spirit, и Phoenix).
Но если бы язык позволял делать более приближенный к оригинальным регэкспам синтаксис (с сохранением всех плюшек типа проверки во время компиляции, связи с переменными и типами в твоей программе и т.п.) — разве это не было бы лучше, чем рукопашная битва с языком в надежде, что тебе удастся собрать из имеющихся операторов нечто не совсем вырвиглазное? Например, сразу могли бы исчезнуть вездесущие >> для связывания атомов регэкспа в единое целое. Плюсики и звездочки могли бы оказаться позади, как в оригинальном регэкспе, а не впереди, как того требует грамматика С++. И т.д.
Насколько я понимаю, Nemerle именно это и предоставляет — и использование твоего DSL в коде в результате выглядит совершенно естественным.
Вот мы плавно и "сместили акценты", просто задавшись совершенно справедливыми вопросами сопряжения DSL и языка-хозяина (т.е. превращения DSL в подъязык)
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[6]: За счет чего выстреливают языки?
От: Evgeny.Panasyuk Россия  
Дата: 15.07.15 18:14
Оценка:
Здравствуйте, jazzer, Вы писали:

J>Но если бы язык позволял делать более приближенный к оригинальным регэкспам синтаксис (с сохранением всех плюшек типа проверки во время компиляции, связи с переменными и типами в твоей программе и т.п.) — разве это не было бы лучше, чем рукопашная битва с языком в надежде, что тебе удастся собрать из имеющихся операторов нечто не совсем вырвиглазное? Например, сразу могли бы исчезнуть вездесущие >> для связывания атомов регэкспа в единое целое. Плюсики и звездочки могли бы оказаться позади, как в оригинальном регэкспе, а не впереди, как того требует грамматика С++. И т.д.


В сегодняшнем C++ можно получить вот такой синтаксис:
sregex pair = regex("(?P<s1>\\w+)=>(?P<s2>\\d+)")
{
    _map[group(s1)] = as<int>(group(s2));
};

Кстати, в библиотеке Metaparse (на днях принятой в Boost), есть пример парсинга строки regex и генерации из этого выражений Xpressive.
Re[7]: За счет чего выстреливают языки?
От: alex_public  
Дата: 15.07.15 18:25
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP>В сегодняшнем C++ можно получить вот такой синтаксис:

EP>
EP>sregex pair = regex("(?P<s1>\\w+)=>(?P<s2>\\d+)")
EP>{
EP>    _map[group(s1)] = as<int>(group(s2));
EP>};
EP>

EP>Кстати, в библиотеке Metaparse (на днях принятой в Boost), есть пример парсинга строки regex и генерации из этого выражений Xpressive.

Ух ты! C++ реально хорошеет прямо на глазах. Я чувствую, что таким темпами, время, затраченное мною на изучение D, Rust'a и т.п. никогда не обернётся бизнес-пользой, а останется только саморазвитием. )))
Re[15]: За счет чего выстреливают языки?
От: Mamut Швеция http://dmitriid.com
Дата: 15.07.15 18:51
Оценка:
M>>Дело в том, что за последние нцать лет все, что от тебя слышно — это «я каждый день этим пользуюсь». И все.
WH>Те за 6 лет ты ни разу не поставил немерле и не посмотрел?

Я его ставил пару лет тому назад. У меня не было задач, в которых он был бы нужен.

M>>- и что правильность реализации этого DSL тоже видимо магическим образом из воздуха появится

WH>А правильность эрланга, откуда берётся?

Мне нравится, что ты никогда, от слова вообще, не способен ответить на любой заданный тебе вопрос.

M>>Но тут меня озарило! Ты ж наверное имеешь в виду макросы в немерле! И что ими можно наговнякать чего-то там, и тогда да — поддержка будет в IDE и дебаггера и прочее. Ну так бы сразу и сказал

WH>Не суди других по себе.

О тебе я сужу строго и исключительно по тебе. Благо, материала накопилось предостаточно.


dmitriid.comGitHubLinkedIn
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.