一群爱好者使用宏编写了自己的领域特定语言 (DSL),其工作方式类似于函数式语言中的 `DO` 表示法。他们利用了高级预处理器功能。本项目实现了一种新的 DSL 解析技术,该技术有助于在 C 和 C++ 预处理器上创建更多 DSL。代码库中的代码使用 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