Data DSL на Python

  • Илья Беда
    Илья Беда bro.engineering

    Все мы сталкиваемся с различными видами DSL. Это и общеизвестные внешние DSL - HTML CSS SQL, и более специализированные внутренние DSL - такие как модели и формы в веб-фреймворке Django.

    - Чем же так хороши DSL?
    - За счет узкой специализации языка вы можете выразить больше логики меньшим количеством конструкций.

    - Почему бы не применять этот подход для решения повседневных задач.
    - К сожалению, создание DSL сложная задача.

    - Как можно упростить её?
    - Нужно максимально использовать то, что уже готово. Зачем писать парсеры или разбирать AST python кода, когда можно использовать стандартные структуры данных, такие как списки и словари. Более того, в мире Clojure это является общепринятым стандартом.

    В своем докладе я покажу примеры DSL, построенных на данных.
    Вы узнаете, как реализовать DSL в python на основе списков и словарей. Я расскажу, в чем преимущество такого подхода, и на реальных примерах продемонстрирую для каких задач стоит применять данную технология, а для каких нет.

Видео




Слайды

Открыта регистрация на Moscow Python Conf 2017