a metaobject protocol for c++
This paper presents a metaobject protocol ( MOP ) for C++. This MOP was designed to bring the power of meta-programming to C++ programmers. It avoids penalties on runtime performance by adopting a new meta-architecture in which the metaobjects control the compilation of programs instead of being active during program execution. This allows the MOP to be used to implement libraries of efficient, transparent language extensions.
paper power program programmer runtime performance control compilation activation libraries efficiency transparency language extensibility meta programming architecture