- From: Lynn Andrea Stein <lynn.stein@olin.edu>
- Date: Thu, 21 Mar 2002 15:30:02 -0500
- To: "Peter F. Patel-Schneider" <pfps@research.bell-labs.com>
- CC: schreiber@swi.psy.uva.nl, www-webont-wg@w3.org
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. Lynn [1] http://www.cyberdyne-object-sys.com/oofaq2/body/basics.htm#S1.4 [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. [4] http://www.smalltalk.org/ [5] http://java.sun.com/ [6] http://protege.stanford.edu/
Received on Thursday, 21 March 2002 15:30:09 UTC