Skip to main content
Article thumbnail
Location of Repository

Design Patterns as Higher-Order Datatype-Generic Programs

By Jeremy Gibbons

Abstract

Design patterns are reusable abstractions in object-oriented software. However, using current mainstream programming languages, these elements can only be expressed extra-linguistically: as prose, pictures, and prototypes. We believe that this is not inherent in the patterns themselves, but evidence of a lack of expressivity in the languages of today. We expect that, in the languages of the future, the code parts of design patterns will be expressible as reusable library components. Indeed, we claim that the languages of tomorrow will suffice; the future is not far away. All that is needed, in addition to commonly-available features, are higherorder and datatype-generic constructs; these features are already or nearly available now. We argue the case by presenting higherorder datatype-generic programs capturing ORIGAMI, a small suite of patterns for recursive data structures

Topics: General Terms Languages, Design, Algorithms, Theory. Keywords Design patterns, generic programming, higher-order functions
Year: 2006
OAI identifier: oai:CiteSeerX.psu:10.1.1.134.9420
Provided by: CiteSeerX
Download PDF:
Sorry, we are unable to provide the full text but you may find it at the following location(s):
  • http://citeseerx.ist.psu.edu/v... (external link)
  • http://eecs.harvard.edu/~nr/cs... (external link)
  • Suggested articles


    To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.