Komunita nadšenců napsala vlastní DSL s využitím maker, které funguje podobně jako notace „do“ z funkcionálních jazyků. Využívá pokročilé možnosti preprocesoru. Prezentovaný projekt implementuje novou techniku pro parsování DSL, která může usnadnit vytváření dalších DSL na preprocesorech C a C++. Kód v repozitáři je napsán v C++23 a je open source pod licencí MIT a samotnou techniku lze jednoduše použít v preprocesoru C. // Bez DSL: auto result = bind(mx, [&](auto x) { return bind(my, [&](auto y) { return make_value(x, y); }); }); // S DSL: auto result = DO( LET x IS(mx); LET y IS(my); return make_value(x, y); );
Zdroj: opennet.ru