In programming languages, a macro is any programming or user interface that allows one to associate a macro name to a set of instructions to be substituted wherever the macro name appears in a program. The macro, when used, expands into something usually larger than itself. Often, the macro facility allows arguments to be substituted into the expanded code. Sometimes, the facility permits conditional expansion, internalized dynamic generation of unique names, etc.
An experiment on compiled macros are at compiled macros patch (at sourceforge.net) , 2008: a patch by Peter Spjuth to produce compiled macros. Not fully functional yet, but astarting point for anyone interested.