Abstract:
Although spreadsheets can be argued to be the most widely-used end-user programming languages today, they are very limited compared to other programming languages, supporting only a few built-in types and offering only primitive support for code reuse. The inheritance mechanisms of object-oriented programming might seem to offer help for the latter problem, but incorporating these mechanisms in a traditional way would introduce concepts foreign to spreadsheets, such as message passing. In this paper, we present a new approach to inheritance, similarity inheritance, that is suitable for seamless integration into the spreadsheet paradigm. We first explain the model independently of any implementation, and then present a prototype implementation for a research spreadsheet language. We show that bringing inheritance functionality to the spreadsheet paradigm supersedes previous support for reuse in spreadsheets, and does so without sacrificing the concreteness, flexibility, and directness that characterize spreadsheets.