  We describe Active Libraries, which take an active role in compilation.
Unlike traditional libraries which are passive collections of functions and
objects, Active Libraries may generate components, specialize algorithms,
optimize code, configure and tune themselves for a target machine, and describe
themselves to tools (such as profilers and debuggers) in an intelligible way.
Several such libraries are described, as are implementation technologies.
