Общността от ентусиасти разработи собствен DSL на макроси, който функционира като do-нотация от функционалните езици. Използват се усъвършенствани възможности на препроцессора. В представения проект е реализирана нова техника за парсинг на DSL, която може да послужи за създаването на нови DSL на препроцессора C и C++. Кодът в хранилището е написан на C++23 и е с отворен код под MIT лиценз, а самата техника може да бъде използвана и просто в C-препроцессора. // Без 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