Uma comunidade de entusiastas criou seu próprio DSL baseado em macros, que funciona como a notação do do dos idiomas funcionais. São utilizadas funcionalidades avançadas do pré-processador. O projeto apresentado implementa uma nova técnica para análise de DSL, que pode facilitar a criação de futuros DSLs no pré-processador C e C++. O código no repositório está escrito em C++23 e está disponível sob a licença MIT, e a técnica pode ser utilizada também no pré-processador C.// Sem DSL: auto result = bind(mx, [&](auto x) { return bind(my, [&](auto y) { return make_value(x, y); }); });// Com DSL: auto result = DO( LET x IS(mx); LET y IS(my); return make_value(x, y); );
Fonte: opennet.ru