Estoy tratando de escribir un macro tutorial, y ahora necesito algunos ejemplos que son simples de entender, y sin embargo convincentes.Ejemplos simples pero convincentes de macros que ya no están en Clojure
El problema es que muchas de las cosas obvias ya están en clojure y contrib. Y creo que "mira, podemos volver a implementar todas las funciones de la biblioteca" podría no ser el mejor argumento para explicar por qué las macros son tan geniales.
¿Alguien ha recibido ejemplos bonitos (los de una línea son los mejores) que no les importaría que utilizara?
Aquí están las tres primeras partes del tutorial. En este momento es un poco vulgar, por lo que cualquier comentario sobre cómo podría mejorarse sería recibido con gratitud.
http://learnclojure.blogspot.com/2010/09/clojure-macro-tutorial-part-i-getting.html
http://learnclojure.blogspot.com/2010/09/clojure-macro-tutorial-part-ii-compiler.html
http://learnclojure.blogspot.com/2010/09/clojure-macro-tutorial-part-ii-syntax.html
Tal vez mi ejemplo favorito, que no estoy seguro es posible en clojure (tal vez un subconjunto limitado con CLJ-cont, pero completamente en el esquema), es la implementación de 'yield', como en Pitón, a través de' call/cc'. Es un ejemplo poderoso que realmente lleva a casa el hecho de que las macros pueden ayudarte a construir incluso los constructos más extravagantes en el lenguaje. – apg