Metaclasses and Reflection in Smalltalk
Tony Clark

TL;DR
This paper reviews Smalltalk's reflective features and extends them to support customizable inheritance strategies, especially in the context of multiple inheritance, which was previously limited.
Contribution
It introduces a novel approach to extend Smalltalk's reflection to enable programmer-defined inheritance strategies for multiple inheritance.
Findings
Extended Smalltalk reflection to support custom inheritance strategies
Analyzed multiple inheritance options and their implications
Proposed a language model with flexible inheritance control
Abstract
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 meta-classes. This report reviews the Smalltalk golden braid and generalize it for multiple inheritance leading 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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Model-Driven Software Engineering Techniques · Advanced Software Engineering Methodologies
