Dynamically Extensible Objects in a Class-Based Language

René W. Schmidt
Department of Computer Science
University of Aarhus
DK-8000 Aarhus C, Denmark
email: rws@cs.au.dk

Abstract

Object-oriented programming techniques allow the construction of reusable and extensible code. However, class-based languages have poor support for expressing type-orthogonal behaviour and extending non-leaf classes, which result 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 type-orthogonal abstractions. Dynamic slots have been integrated into the BETA programming language, and performance measurements of a persistent store show that they significantly improve performance.

Click here to retrieve the whole document in PostScript (16 pages, 443Kb).


René W. Schmidt <rws@cs.au.dk>