Une communauté d'enthousiastes a écrit son propre DSL basé sur des macros, qui fonctionne comme une notation 'do' des langages fonctionnels. Des fonctionnalités avancées du préprocesseur sont utilisées. Dans le projet présenté, une nouvelle technique de parsing du DSL a été mise en œuvre, ce qui pourrait favoriser la création de futurs DSL sur le préprocesseur C et C++. Le code du référentiel est écrit en C++23 et est ouvert sous licence MIT, et la technique elle-même peut également être utilisée simplement dans le préprocesseur C. // Sans DSL : auto result = bind(mx, [&](auto x) { return bind(my, [&](auto y) { return make_value(x, y); }); }); // Avec DSL : auto result = DO( LET x IS(mx); LET y IS(my); return make_value(x, y); );
Source : opennet.ru