Een gemeenschap van enthousiastelingen heeft hun eigen DSL geschreven op basis van macro's, die werkt als do-notatie uit functionele talen. Geavanceerde mogelijkheden van de preprocessor worden gebruikt. In dit project is een nieuwe techniek geĆÆmplementeerd voor het parseren van DSL, wat kan bijdragen aan de ontwikkeling van verdere DSL's op de C- en C++-preprocessor. De code in de repository is geschreven in C++23 en staat open onder de MIT-licentie, en de techniek kan ook gewoon worden gebruikt in de C-preprocessor. // Zonder DSL: auto result = bind(mx, [&](auto x) { return bind(my, [&](auto y) { return make_value(x, y); }); }); // Met DSL: auto result = DO( LET x IS(mx); LET y IS(my); return make_value(x, y); );
Bron: opennet.ru