Declarative visual programming languages (VPLs), including spreadsheets, make
up a large portion of both research and commercial VPLs. Spreadsheets in particular
enjoy a wide audience, including end users. Unfortunately, spreadsheets and most other
declarative VPLs still suffer from some of the problems that have been solved in other
languages, such as ad-hoc (cut-and-paste) reuse of code which has been remedied in
object-oriented languages, for example, through the code-reuse mechanism of
inheritance. We believe spreadsheets and other declarative VPLs can benefit from the
addition of an inheritance-like mechanism for fine-grained code reuse. This dissertation
first examines the opportunities for supporting reuse inherent in declarative VPLs, and
then introduces similarity inheritance and describes a prototype of this model in the
research spreadsheet language Forms/3. Similarity inheritance is very flexible, allowing
multiple granularities of code sharing and even mutual inheritance; it includes explicit
representations of inherited code and all sharing relationships, and it subsumes the
current spreadsheet mechanisms for formula propagation, providing a gradual migration
from simple formula reuse to more sophisticated uses of inheritance among objects.
Since the inheritance model separates inheritance from types, we investigate what notion
of types is appropriate to support reuse of functions on different types (operation
polymorphism). Because it is important to us that immediate feedback, which is
characteristic of many VPLs, be preserved, including feedback with respect to type
errors, we introduce a model of types suitable for static type inference in the presence of
operation polymorphism with similarity inheritance. / Graduation date: 1999
Identifer | oai:union.ndltd.org:ORGSU/oai:ir.library.oregonstate.edu:1957/33868 |
Date | 17 December 1998 |
Creators | Djang, Rebecca W. (Rebecca Walpole) |
Contributors | Burnett, Margaret M. |
Source Sets | Oregon State University |
Language | en_US |
Detected Language | English |
Type | Thesis/Dissertation |
Page generated in 0.0015 seconds