Synthesizing object-oriented and functional design to promote re-use

52Citations
Citations of this article
40Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Many problems require recursively specified types of data and a collection of tools that operate on those data. Over time, these problems evolve so that the programmer must extend the toolkit or extend the types and adjust the existing tools accordingly. Ideally, this should be done without modifying existing code. Unfortunately, the prevailing program design strategies do not support both forms of extensibility: Functional programming accommodates the addition of tools, while object-oriented programming supports either adding new tools or extending the data set, but not both. In this paper, we present a composite design pattern that synthesizes the best of both approaches and in the process resolves the tension between the two design strategies. We also show how this protocol suggests a new set of linguistic facilities for languages that support class systems.

Cite

CITATION STYLE

APA

Krishnamurthi, S., Felleisen, M., & Friedman, D. P. (1998). Synthesizing object-oriented and functional design to promote re-use. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 1445, pp. 91–113). Springer Verlag. https://doi.org/10.1007/BFb0054088

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free