1563
Обсуждение дизайна языков программирования (как новых, так и существующих). Литература: https://github.com/true-grue/Compiler-Development Создание и устройство компиляторов: @CompilerDev Для новичков: @pld_beginners
Эмуляция AspectJ — это не то же самое, что реализация AOP. 😊
Выше обсуждали, что AOP вообще начался с loop fusion — на before/after его сделать не получится. Поди, и на AspectJ его сделать не получится, так что непонятно, почему они говорят, что сделали AOP. 😏
Я уже это упоминал в диалоге. Боюсь внятно объяснить это займёт слишком много времени
Читать полностью…
Потому что это две разных задачи. Потому что внутренние системы страдают от проблем с тулингом. Потому что теряется связность языка. Да много причин
Читать полностью…
а не будут ли мои макросы этим самым language workbench
Читать полностью…
это будет некая тестовая площадка шоб для других языков фичи обкатывать и в целом понимать как оно будет выглядеть. чем не норм задача.
Читать полностью…
Внезапно, это хорошо и понятно объясняется в драгонбуке
Читать полностью…
дайте толька пж куда копать чобы понять как BNF работает и из этого понять как макросы делать
Читать полностью…
Не готов сейчас Вам их обосновывать
Читать полностью…
Эта задача обоснуема.
возможность выразить синтаксис питона или ещё чаво внутри этого йазыка
иметь возможность написать аналог jsx без проблем и возможность выразить синтаксис питона или ещё чаво внутри этого йазыка
Читать полностью…
Попробуйте сформулировать задачу/проблему, которую Вы хотите Вашим подходом решать. Иначе без ограничений поплывёте в скоупе
Читать полностью…
Тогда очень просто: Вы просто делаете репозиторий, в котором есть код проекта на дсл и рядом код компилятора. Это даст больше гибкости, чем что либо. Правда есть нюанс...
Читать полностью…
Ну, на самом деле, Вы допускаете сейчас классическую ошибку начинающего плд. Вам интересно делать компиляторы, и Вы думаете, что Вашим пользователям тоже интересно делать компиляторы. И поэтому Вы хотите, чтобы они могли дописать кусок компилятора прямо в коде.
К сожалению, это так не работает. Пользователи хотят писать код, а не разрабатывать язык. При добавлении дсл, важен баланс гибкость/скорость разработки. При написании кусочков компилятора баланс сильно смещён в сторону гибкости и сильно жертвует скоростью разработки и тулингом.
Согласен. Но, это ведь не относится к корректности формы.
Формально, та часть программы/системы, которая читает протоколы — это аспект, который зависит от аспекта протоколирования. Вполне ожидаемо, что при выключении протоколирования, зависимые от него аспекты на это как-то "отреагируют".
Чтобы покрыть такие случаи, можно сказать: при выключении аспекта и всех зависимых от него аспектов.
#aop #crosscutting
шо за проблемы с тулингом. чо за проблема со связностью
Читать полностью…
Очень слабым и сложным. Делать что-то внутри языка всегда сложнее, чем делать это снаружи. Посмотрите тот же JetBrains MPS
Читать полностью…
Для этого есть language workbench
Читать полностью…
Либо возьмите туториал по любому парсер генераторы (antlr?) и попробуйте по нему пару парсеров написать
Читать полностью…
Там скорее всего требуется "актуальность темы". И вот jsx можно описать, как актуальную тему. А вот "синтаксис питона" — обосновать актуальность будет тяжело
Читать полностью…
ну делать все равно мне и постараюсь сделать норм
Читать полностью…
хотя с питоном скорее не выйдет. что то с не значащими отступами
Читать полностью…
не вижу особо проблем если честно
Читать полностью…
Опыт показывает, что с этим сложно
Читать полностью…
да и почему нада чем-то жертвовать. нет бы сделать возможность выразить и то и то при этом не сильно уродуйа достаточно тривиальные случаи
Читать полностью…
это же буквально значит ничо и не сделать.
Читать полностью…
ну в этом как бы и суть этого исследовательского йазыка. сделать настолько гибко как это вообще можно
Читать полностью…
а пока оно в стадии исследовательского яп захардкодить это
Читать полностью…
а почему бы не распарить в общее дерево как распарсится без приоритетов. а затем уже трансформировать аст в другое аст
Читать полностью…