Reflective Facilities in Smalltalk-80
- Publication date
- 1989
- Publisher
- ACM Press
Abstract
Computational reflection makes it easy to solve problems that are otherwise difficult to address in Smalltalk-80, such as the construction of monitors, distributed objects, and futures, and can allow experimentation with new inheritance, delegation, and protection schemes. Full reflection is expensive to implement. However, the ability to override method lookup can bring much of the power of reflection to languages like Smalltalk-80 at no cost in efficiency. Introduction One of the attractions of object-oriented languages is their extensibility. Programmers gain confidence that facilities that are not already available in a given environment can easily be constructed. Current systems make it easy to define data types like complex or arbitrary precision numbers. New object types become as "first class" as those built into the language. A big part of the appeal of objectoriented programming is that programmers believe that, if they really wanted to, they could redefine the world. However..