El PL/I y el C/C++ ufierten macros, pero la esta facilidá solo puede manipoliar testu. Per otra parte, los llinguaxes homoicónicos, tales como Lisp, Prolog, y Forth, retienen el poder de los macros de llinguaxe ensamblador porque pueden manipoliar el so propiu códigu como datos.