Die Community von Enthusiasten hat eine eigene DSL auf Basis von Makros geschrieben, die wie eine Do-Notation aus funktionalen Sprachen funktioniert. Fortgeschrittene Möglichkeiten des PrĂ€prozessors werden genutzt. In dem vorgestellten Projekt wurde eine neue Technik zur Analyse der DSL implementiert, die die Erstellung weiterer DSLs fĂŒr den C- und C++-PrĂ€prozessor unterstĂŒtzen kann. Der Code im Repository ist in C++23 geschrieben und unter der MIT-Lizenz veröffentlicht, und die Technik kann auch einfach im C-PrĂ€prozessor verwendet werden. // Ohne DSL: auto result = bind(mx, [&](auto x) { return bind(my, [&](auto y) { return make_value(x, y); }); }); // Mit DSL: auto result = DO( LET x IS(mx); LET y IS(my); return make_value(x, y); );
Quelle: opennet.ru