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. ** Tcl Macro Systems ** [expand], by [WHD]: [Sugar], by [SS]: [knit], by [PYK]: a flexible [EIAS] approach to macros. Leverages `[tailcall]` [Tmac - a Tcl macro processor package]: [tpp]: [cmacro]: a C-preprocessor-like macro substitution mechanism for Tcl source code. [Rivet]: `rivet::parse` can be used to create macros [https://github.com/hartcw/smacro%|%smacro%|%]: tool for programmatically generating embedded content within a file, similar to C/C++ preprocessor directives An experiment on compiled macros are at [http://sourceforge.net/p/tcl/patches/535/%|%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. ** See Also ** [Macro Facility for Tcl]: a discussion that includes some ideas and examples from [RS], [jcw], and others <>Glossary