Комментарии 18
Кстати. Вы не пробовали пользоваться MPS (http://www.jetbrains.com/mps/index.html)?
Если да, скажите пару слов?
(я в теме лишь слегка, писал DSL для Java)
Если да, скажите пару слов?
(я в теме лишь слегка, писал DSL для Java)
Не использовал, всё хочу посмотреть, но пока руки не доходят…
Что то я не пойму — это ваш alter ego написал?
Я пробовал, _очень_ понравилось.
Для заинтересованных Practical Common Lisp — есть перевод, сделанный энтузиастами:
pcl.catap.ru
PDF версию можно найти здесь: lisper.ru/pcl
pcl.catap.ru
PDF версию можно найти здесь: lisper.ru/pcl
Сcылка на pdf не работает :(
О, нашёл. Вот прямая: lisper.ru/pcl/pcl.pdf
Ооо, коллекцинонные игры… в былой молодости я помнится написал движок для Magic: the Gathering. Было очень интересно, т.к. правила этой игры толком не ложатся ни на один из существующих сегодня языков программирования.
миниязыки — для миниязыков
это ваша команда сделала кланз?
Здорово, что вы прочитали про Лисп и попробовали что-то подобное в Руби.
Теперь стоит прочитать про бизнес-правила =)
Для бизнес-правил нужны специальные среды выполнения, которые могут строить графы зависимостей, чтобы не делать одну и ту же проверку дважды. Это особенно актуально, если проверки сложны.
Пока правил не много, за отсутствием дублирования можно следить глазами, но если правила пишут разные люди или они разбросаны по коду, то становится тяжело — могут появиться конфликты, противоречия, дублирование и т.п. ужасы.
Например, в Java это решают при помощи jboss.org/drools/
Чтиво — en.wikipedia.org/wiki/Rete_algorithm
Теперь стоит прочитать про бизнес-правила =)
Для бизнес-правил нужны специальные среды выполнения, которые могут строить графы зависимостей, чтобы не делать одну и ту же проверку дважды. Это особенно актуально, если проверки сложны.
Пока правил не много, за отсутствием дублирования можно следить глазами, но если правила пишут разные люди или они разбросаны по коду, то становится тяжело — могут появиться конфликты, противоречия, дублирование и т.п. ужасы.
Например, в Java это решают при помощи jboss.org/drools/
Чтиво — en.wikipedia.org/wiki/Rete_algorithm
В тему — literate testing: googletesting.blogspot.com/2009/09/tott-literate-testing-with-matchers.html
DSL для тестов
DSL для тестов
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Примеры использования языкоориентированного программирования