Object-oriented programming techniques support construction of reusable and extensible code. However, class-based languages have poor support for implementing type-orthogonal behavior and extending non-leaf classes, which results in implementations with poor performance or limited functionality. This paper presents dynamic slots, a mechanism for extending objects at runtime. We show how this mechanism can be used to build efficient implementations of hogonal abstractions. Dynamic slots are statically typed and have been integrated into the BETA programming language. Measurements of a persistent store show that they significantly improve performance.
R. W. Schmidt