Generic programming in 3D

  • Authors:
  • Ralf Hinze;Andres Löh

  • Affiliations:
  • Institut für Informatik III, Universität Bonn, Römerstraβe 164, D-53117 Bonn, Germany;Utrecht University, Department of Information and Computing Sciences, PO Box 80.089, NL-3508 TB Utrecht, The Netherlands

  • Venue:
  • Science of Computer Programming
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Support for generic programming consists of three essential ingredients: support for overloaded functions, a run-time type representation, and a generic view on data. Different approaches to datatype-generic programming occupy different points in this design space. In this article, we revisit the ''Scrap your boilerplate'' approach and identify its location within the three-dimensional design space. The characteristic features of ''Scrap your boilerplate'' are its two generic views, the 'spine' view for consuming and transforming data, and the 'type-spine' view for producing data. We show how to combine these views with different overloading mechanisms and type representations.