Saltar al contenido
uencoder

Macro

Una macro expande código en tiempo de compilación, posibilitando la metaprogramación: código que genera código, evitando duplicación y código repetitivo.

Propósito

Transformación de código en tiempo de compilación, eliminando el código repetitivo e implementando DSL.

Mecanismo

Macros de C: sustitución textual (preprocesador). Macros de Rust: macros higiénicas que se expanden a AST. Macros de Lisp: el código como datos. JS: plantillas etiquetadas. Las macros son más flexibles que las funciones pero más difíciles de depurar: usar con cuidado.

Casos de uso

  • Generación de código
  • Construcción de DSL
  • Eliminación de código repetitivo

Términos relacionados

References