ailev.ru

19 января 2008 · Комментарий

Без заголовка

А почему интересно Java и .NET обросло набором DSL-ей: asp, jsp, разные xml-дескипторы. Или вы считаете, что все это все правильно писать внутри кода основного языка? Так именно потому что не все правильно писать внутри кода основного языка - смысл именно в том, чтобы ее вынести. На регэкспы я посмотрел - во-первых - я довольно долго разбирался, что это все значит. Во-вторых - в том же camlp4 изобразить точный аналог - вопрос несколько часов работы. Но характерно - кажется никто этого так и не сделал. В-третьих - есть альтернатива - сделать нормальный API: Ну выглядело бы оно тогда как-то так: open RegExp; let user = plus letdig in let domain = sep ~by:(str ".") plus letdig in matches s (cat [user; str "@"; domain] То есть оно конечно более громоздко, но не особенно. но реализация сервисов вокруг языка, таких как IDE поддержки, системы типов, разных видов анализа итп более чем сложно, и требует знаний, которых у большинства людей, работающих с предметной областью просто нет Так оно особенно никуда не девается. Либо оно приходит из целевого языка, в который транслируется, либо все равно надо писать самому. Я на MPS давно не смотрел - но вопрос - реализовать тот же ML (хотя бы ядро, или F#) на нем получится? imho MPS тут даст очень мало. Чем он, например, с анализом типов поможет? Вряд ли будет проще написания еще одного плагина для идеи или eclipse.

К записи · К обсуждению