macro /mak'roh/ n.
[techspeak] 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 HLLs, 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).
Node:macro-, Next:macrology, Previous:macro, Up:= M
=
macro- pref.
Large. Opposite of micro-. In the
mainstream and among other technical cultures (for example,
medical people) this competes with the prefix mega-, but hackers tend to restrict the latter
to quantification.
Node:macrology, Next:macrotape, Previous:macro-, Up:= M
=
macrology /mak-rol'*-jee/ n.
1. Set of usually complex or crufty macros, e.g., as part of a
large system written in LISP, TECO, or (less commonly) assembler. 2. The
art and science involved in comprehending a macrology in sense 1.
Sometimes studying the macrology of a system is not unlike
archeology, ecology, or theology,
hence the sound-alike construction. See also boxology.