Макрос (метапрограммирование)
Коротко: Макрос — код, создающий или переписывающий другой код во время компиляции. Он расширяет сам язык и избавляет от повторений.
Подробнее: Есть простая текстовая подстановка (препроцессор C: #define) и мощные синтаксические макросы, работающие с синтаксическим деревом (Lisp, Racket, Rust, Nim, Elixir, Julia). Последние гигиеничны, если имена в макросе не сталкиваются с именами вызывающего.
Подробности
#define SQUARE(x) ((x) * (x))См. также: рефлексия, аннотации, компилятор, лямбда-выражение