-
Илья Беда bro.engineering
Все мы сталкиваемся с различными видами DSL. Это и общеизвестные внешние DSL - HTML CSS SQL, и более специализированные внутренние DSL - такие как модели и формы в веб-фреймворке Django.
- Чем же так хороши DSL?
- За счет узкой специализации языка вы можете выразить больше логики меньшим количеством конструкций.- Почему бы не применять этот подход для решения повседневных задач.
- К сожалению, создание DSL сложная задача.- Как можно упростить её?
- Нужно максимально использовать то, что уже готово. Зачем писать парсеры или разбирать AST python кода, когда можно использовать стандартные структуры данных, такие как списки и словари. Более того, в мире Clojure это является общепринятым стандартом.В своем докладе я покажу примеры DSL, построенных на данных.
Вы узнаете, как реализовать DSL в python на основе списков и словарей. Я расскажу, в чем преимущество такого подхода, и на реальных примерах продемонстрирую для каких задач стоит применять данную технология, а для каких нет.