|Allegro CL version 7.0|
The Common Lisp Object System (CLOS) is part of the ANSI standard, and defines a complete object oriented programming system. There is also a de facto standard for how CLOS should be implemented, exposing some of the internals in a controlled way.
The benefit of this is that programmers can portably tailor CLOS to meet their specific programming needs, or even create their own Object Oriented language.
The book The Art of the Metaobject Protocol, sometimes called the AMOP, includes the CLOS Metaobject Protocol specification as chapters 5 and 6. These chapters are reproduced here in hypertext. This document is not part of the ANSI standard for Common Lisp.
Barry Margolin has published a review of this book. A related book, Object-Oriented Programming: The CLOS Perspective, contains articles on MOP motivations, style and implementations.
The web site for the research associated with the book is http://www.parc.xerox.com/spl/projects/oi/.