A ''Meta-object Protocol'' is used in different object-oriented systems to specify behavior of the underlying object system [http://www.ispras.ru/~dkv/links/links.html]. Different object-oriented languages have different meta-object protocols. * Lisp [http://www.lisp.org/mop/] * Perl6 [http://dev.perl.org/rfc/92.html] * Python [http://twistedmatrix.com/users/jh.twistd/python/moin.cgi/MetaPython] * Smalltalk [http://www.ifi.unizh.ch/groups/richter/Classes/oose2/05_Metaclasses/02_smalltalk/02_metaclasses_smalltalk.html] 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 [http://www.dcc.unicamp.br/~oliva/guarana/docs/security-html/security.html] * for distributed applications [http://citeseer.nj.nec.com/498349.html] * for distributed applications [http://www.computer.org/proceedings/isads/0137/01370065abs.htm] * for distributed applications [http://lis.univ-tlse1.fr/ecoop-ws/Papers/Blay/node7.html] * for frameworks [http://www.iam.unibe.ch/~demeyer/Deme96m/psstmnt.html] The term, ''reflection'', is similar in meaning to [Introspection]. See also TIP #117 [http://purl.org/tcl/tip/117.html]. ---- 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'' ---- [Category Concept] [Category Object Orientation]