Version 12 of Meta-object Protocol

Updated 2009-05-14 13:36:32 by LV

A Meta-object Protocol is used in different object-oriented systems to specify behavior of the underlying object system [L1 ] [that link is not available 2009-May-14].

Different object-oriented languages have different meta-object protocols.

  • Lisp [L2 ]
  • Perl 5 [L3 ]
  • Perl6 [L4 ]
  • Python [L5 ] [that link is not available 2009-May-14]
  • Smalltalk [L6 ]

A meta-object protocol can also be used in applications where reflection is needed for a system to be able to examine itself

  • for security [L7 ]
  • for distributed applications [L8 ] [that link is not available 2009-May-14]
  • for distributed applications [L9 ]
  • for distributed applications [L10 ] [that link is slow as of 2009-May-14]
  • for frameworks [L11 ]

The term, reflection, is similar in meaning to Introspection.

See also TIP #117 [L12 ].


So, what does this have to do with Tcl?

Well, it really has to do with what features of a meta-object protocol are built into Tcl by itself, and what features are added by each of the object-oriented extensions.

escargo 25 Nov 2002

Also, the inclusion of a meta-object protocol can be the foundation of object-oriented extensions. I think of TIP 279 [L13 ] as defining a MOP to build OOP.

escargo 3 No 2006


Category Concept | Category Object Orientation