Энтузиасты создали do-нотацию для C++
Дата публикации:Thu, 12 Mar 2026 13:00:20 +0300
Сообщество энтузиастов написало собственный DSL на макросах, который работает как do-нотация из функциональных языков. Используются продвинутые возможности препроцессора. В представленном проекте реализована новая техника для парсинга DSL, что может поспособствовать созданию дальнейших DSL на препроцессоре C и C++. Код в репозитории написан на C++23 и открыт под лицензией MIT, а сама техника может быть использована и просто в си-препроцессоре.
// Без DSL: auto result = bind(mx, [&](auto x) { return bind(my, [&](auto y) { return make_value(x, y); }); }); // С DSL: auto result = DO( LET x IS(mx); LET y IS(my); return make_value(x, y); );
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=64975