withDevelopers
withDevelopers withDevelopers withDevelopers

Some Existing Metaobject Protocols

This is a list of some MOPs in current use or under development.

ABCL/R ABCL/R is a series of MOPs designed, particularly, for distributed computing.
AL1/D AL1/D has a MOP that provides several different kinds of meta-objects for different kinds of intervention.
Apertos Apertos is a reflective object-oriented operating system.
CLOS The CLOS Metaobject Protocol was the first metaobject protocol designed as such. It provides control over the way CLOS implements objects, including object layout, object initialization, slot access, effective method definition, and generic function invocation. It is fully described in the book
Gregor Kiczales, Jim des Rivières, and Daniel G. Bobrow. The Art of the Metaobject Protocol . MIT Press, 1991.

A good discussion of the CLOS MOP is also available in part II of

Andreas Paepcke, editor. Object-Oriented Programming - The CLOS Perspective. MIT Press, 1993.
Tiny CLOS Tiny CLOS is a very simple CLOS-like language with a simple MOP. It was designed for teaching purposes. Tiny CLOS is written in Scheme; sources are available from our archive.
Dylan Dylan A dynamic object oriented language, with some MOP features, particularly for introspection.
Apple Computer, 1 Main Street, Cambridge, MA 02142. Dylan: an Object-Oriented Dynamic Language, 1992.
Dynace Dynace is a dynamic OO extension of C/C++ with MOP features
EuLisp EuLisp has a MOP which does some things more cleanly than the CLOS MOP. The MOP is described in
Harry Bretthauer, Harley Davis, Jurgen Kopp, and Keith Playford. Balancing the EuLisp metaobject protocol. In Proceedings of the International Workshop on Reflection and Meta-Level Architecture, 1992.
ILOG TALK ILOG Talk is a Lisp dialect which MOP is based on EuLisp's
Open C++ Open C++ is a compile time MOP for the C++ language.
Smalltalk Reflective Facilities in Smalltalk-80 is an OOPSLA 89 paper by Foote & Johnson
STk STk is a R4RS Scheme which can access the Tk graphics package. It provides a CLOS-like object system with a MOP.

Return to MOPs home page