Extender el preprocesador de C para hacerlo menos infernal
Fun Extending the C Preprocessor
El autor, que está escribiendo su propio compilador de C, comparte extensiones para el preprocesador que eliminan parte de la brujería habitual. Entre ellas, macros integradas como __print() y __where() para depurar, __map() para aplicar una macro a cada argumento sin simular recursión, y __VA_COUNT__ para obtener el número de argumentos variádicos sin trucos manuales. El objetivo es hacer el CPP más potente y legible.
El preprocesador de C es una herramienta poderosa, pero requiere algo de magia negra ilegible para aprovecharla de verdad.