Metaclasses and reflection in smalltalk.
- Publisher: University of Bradford
Computer Science - Software Engineering
Many object-oriented programming languages provide reflective features which may be used to control the interpretive mechanism of the language. Often, these features are defined with respect to a golden braid consisting of objects, classes and metaclasses. This paper describes the Smalltalk golden braid and generalize it for multiple inheritance. Multiple inheritance leads to choices between many different inheritance strategies. The reflective features of Smalltalk cannot affect the basic mechanisms of inheritance and so an arbitrary choice must be made for multiple inheritance. A language is described in which the reflective features of Smalltalk are extended so as to allow programmer defined inheritance strategies.