A means of expressing certain higher-order functions in a first order language. Proposed by Phil Wadler. Higher-order macros cannot be recursive at the top level but they may contain recursive definitions. E.g.
map f l = m l where m  =  m (x:xs) = f x : m xsExpanding a call to this macro is equivalent to specialising a call to map in its first argument.
See partial evaluation.
Try this search on Wikipedia, OneLook, Google
Nearby terms: high density « Higher Education National Software Archive « higher-order function « higher-order macro » High-level Data Link Control » high-level language » high memory area