Makro (metaprogramlama)
Kısaca: Makro, derleme zamanında başka kod oluşturan veya yeniden yazan koddur. Dilin kendisini genişletir ve tekrarı önler.
Biraz daha ayrıntılı: Basit metin yerine koymanın (C önişlemcisi: #define) yanı sıra sözdizimi ağacıyla çalışan güçlü sözdizimi makroları vardır (Lisp, Racket, Rust, Nim, Elixir, Julia). İkincisi, makrodaki adlar çağıranın adlarıyla çakışmıyorsa hijyeniktir.
Ayrıntılı
#define SQUARE(x) ((x) * (x))Ayrıca bak: Yansıma, Ek açıklamalar, Derleyici, Lambda ifadesi