Gödel, Escher, Elisp: la belleza de las macros
Gödel, Escher, Elisp: The Beauty of Macros

En Emacs Lisp, el código es dato: una propiedad homoicónica que difumina la frontera entre programa y estructura de datos. Este artículo explora qué son realmente las macros, cómo se expanden en tiempo de compilación y por qué están en todas partes, desde `when` hasta `defun`. Con referencias a Hofstadter y Escher, muestra cómo las macros permiten extender el lenguaje y reescribir el código sobre la marcha, y ofrece herramientas como `macroexpand` y `macrostep` para ver la magia en acción.
Una macro es una forma especial que tienes permitido escribir tú mismo, con la condición de que tiene que compilarse hasta las formas reales.