macro
macro /mak'roh/ [techspeak] n. A name (possibly followed
by a formal {arg} list) that is equated to a text or symbolic
expression to which it is to be expanded (possibly with the
substitution of actual arguments) by a macro expander. This
definition can be found in any technical dictionary; what those
won't tell you is how the hackish connotations of the term have
changed over time.
The term `macro' originated in early assemblers, which encouraged
the use of macros as a structuring and information-hiding device.
During the early 1970s, macro assemblers became ubiquitous, and
sometimes quite as powerful and expensive as {HLL}s, only to fall
from favor as improving compiler technology marginalized assembler
programming (see {languages of choice}). Nowadays the term is
most often used in connection with the C preprocessor, LISP, or one
of several special-purpose languages built around a macro-expansion
facility (such as TeX or UNIX's [nt]roff suite).
Indeed, the meaning has drifted enough that the collective
`macros' is now sometimes used for code in any special-purpose
application control language (whether or not the language is
actually translated by text expansion), and for macro-like entities
such as the `keyboard macros' supported in some text editors
(and PC TSR or Macintosh INIT/CDEV keyboard enhancers).
HTML Conversion by AG2HTML.pl V2.94618 & witbrock@cs.cmu.edu