Aller au contenu
uencoder

Macro

Une macro développe du code à la compilation, rendant possible la métaprogrammation : du code qui génère du code, évitant duplication et code répétitif.

Objectif

Transformation du code à la compilation, éliminant le code répétitif et implémentant des DSL.

Mécanisme

Macros C : substitution textuelle (préprocesseur). Macros Rust : macros hygiéniques s'étendant en AST. Macros Lisp : le code comme données. JS : littéraux de gabarit étiquetés. Les macros sont plus flexibles que les fonctions mais plus difficiles à déboguer — à utiliser avec précaution.

Cas d’usage

  • Génération de code
  • Construction de DSL
  • Élimination du code répétitif

Termes associés

References