--Originally published at Venkon Programming
A metaobject protocol (MOP) provides the vocabulary to access and manipulate the structure and behavior of objects. Typical functions of a metaobject protocol include:
- Creating and deleting new classes
- Creating new methods and properties
- Changing the class structure so that classes inherit from different classes
- Generating or modifying the code that defines the methods for the class
Source: Wikipedia.