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][http://www.computer.org/proceedings/isads/0137/01370065abs.htm][http://lis.univ-tlse1.fr/ecoop-ws/Papers/Blay/node7.html] * for frameworks [http://www.iam.unibe.ch/~demeyer/Deme96m/psstmnt.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]