Re: LANG: classes as instances

Actually, if you believe in metaclasses (i.e., classes whose members are
classes), then it makes perfect sense for something to be simultaneously
a class and an instance.  This is something that has significant
acceptance among at least a few subcommunities of OOP and KR:

Cyberdyne's OOFAQ gives a nice overview of metaclasses [1] in OOP terms.

Some more classic OOP references include Brian Cantwell Smith's
foundational paper on reflection and Kiczales et al.'s metaobject
protocol (for CLOS).

The Smalltalk [4] and Java [5] programming languages both have
metaclasses, though in somewhat different forms.

In more KR terms, Protege [6] has a metaclass system.


[2] Brian Cantwell Smith, "Reflection and Semantics in Lisp," POPL 1984,
pp 23-35.
[3] Kiczales, G., J. des Rivi`eres, and D. G. Bobrow, The Art of the
Metaobject Protocol. The MIT Press, 1991.

Received on Thursday, 21 March 2002 15:30:09 UTC