Preguntas etiquetadas con macros

Las macros se utilizan para hacer que una secuencia de instrucciones de computación esté disponible para el programador como una sola declaración de programa, haciendo que la tarea de programación sea menos tediosa y menos propensa a errores. [

30
¿Cuál es el origen del preprocesador C?

El preprocesador C está conectado a C, pero tiene una sintaxis completamente diferente del lenguaje principal: espacios en blanco sintácticamente significativos (el final de la línea termina una declaración, espacio después de que la macro determina el inicio de la lista de reemplazo) bloques...

22
¿Qué tan útiles son las macros de Lisp?

Common Lisp le permite escribir macros que realizan cualquier transformación de origen que desee. Scheme le ofrece un sistema higiénico de coincidencia de patrones que también le permite realizar transformaciones. ¿Qué tan útiles son las macros en la práctica? Paul Graham dijo en Beating the...

18
Decoradores Python y macros Lisp

Al mirar los decoradores de Python, alguien hizo la declaración de que son tan poderosos como las macros de Lisp (particularmente Clojure). Al observar los ejemplos dados en PEP 318, me parece que son solo una forma elegante de usar funciones simples de orden superior en Lisp: def attrs(**kwds):...

11
Tejido de código de bytes vs macros de Lisp

He estado leyendo sobre las bibliotecas que la gente ha escrito para lenguajes como Java y C # que utilizan el tejido de código de bytes para hacer cosas como interceptar llamadas a funciones, insertar código de registro, etc. También he estado leyendo sobre macros Lisp / Clojure en un Intente...

7
¿Cuándo requeriría una macro en lugar de una función?

Soy nuevo en Clojure, soy nuevo en Macros y no tengo experiencia previa en Lisp. Pasé a crear mi propia forma de caja de interruptor y terminé con esto: (defmacro switch-case [v cases default] (if (cases v) (cases v) default )) e intenté hacer una función y terminé con esto: (defn...