Meta-Object Protocol
A term for, simply stated, a set of rules for manipulating and communicating with meta-objects. In other words, it's a metaprogramming library, or even a language in its own right, which the Lisp family of languages provides rather simply with the language itself. The Mjölner Beta language system provides another metaprogramming environment that is still maturing. Or you could say that it's the implicit meaning of meta-objects: what the user can't control about meta-objects in systems which do not allow Tunes-level (system-wide) reflection.Examples:
- CLOS has its CLOS MOP.
- list several research MOP's for Java/C++/etc.
- The introspector project for a standard attempt to extract meta-data out of software.
This page is linked from: CLOS MOP Common Lisp Gregor Kiczales Methods of Reflection MOP PL 101 Reflective Programming Languages