Cómo utilizar defmacro en Clojure – Resuelto

En Clojure, defmacro nos permite definir macros, que son funciones que transforman el código en tiempo de compilación. A continuación, veremos cómo usar macros en Clojure.

Definir una macro simple

Las macros se definen de manera similar a las funciones, pero en lugar de evaluar los argumentos antes de pasarlos, las macros operan sobre el código directamente:

(defmacro saludar [nombre] `(println "Hola, ~{nombre}"))

Ejemplo de uso de la macro

Ahora podemos llamar a la macro:

(saludar "Juan") ;; imprime: Hola, Juan