>>8
Read the AMOP (Art of the Meta-Object Protocol).
AMOP shows how CLOS can be implemented in itself using a MOP - in a metacircular manner.
The MOP lets you define object systems like CLOS, or to extend CLOS in many ways beyond those specified by the ANSI CL standard. The MOP is supported by most major implementations and it tends to be the exposed interface to CLOS' internals (it has a standard document and there is even a compatibility layer (closer mop) that makes sure you get the same interface across all implementations), but it should not be treated just as something on top of CLOS: it's something on top which CLOS itself is based, and you can build any OO system that you'd want on top of it, or greatly customize CLOS (which itself is one of the most advanced OO systems out there, as far as features go).
Much of MOP's functionality centers around reflection support: you have meta-objects representing classes and generic methods and well-defined interfaces for accessing or changing them. The book not only shows how CLOS can be defined in itself, but also shows how a CL without CLOS could be extended to support it (this was true for '80's CLs). The "toy" implementation of CLOS+MOP presented in the book is called Closette, while most modern CL implementations tend to use modified versions of the more heavy-weight (and more optimized) PCL(PortableCommonLOOPS) - they are related in both design and implementation and originate from the same source: Xerox Corp (both are MIT-like/nearly public domain licensed).