Generic programming with c++ concepts and haskell type classes: A comparison

  • Authors:
  • Jean-philippe Bernardy;Patrik Jansson;Marcin Zalewski;Sibylle Schupp

  • Affiliations:
  • Department of computer science and engineering, chalmers university of technology and university of gothenburg, se-412 96 göteborg, sweden (e-mail: bernardy@chalmers.se, patrikj@chalmers.se);Department of computer science and engineering, chalmers university of technology and university of gothenburg, se-412 96 göteborg, sweden (e-mail: bernardy@chalmers.se, patrikj@chalmers.se);Open systems lab, indiana university, lindley hall 215, bloomington, in 47405, usa (e-mail: zalewski@osl.iu.edu);Institute for software systems, hamburg university of technology, schwarzenbergstraße 95 (e), d-21073 hamburg, germany (e-mail: schupp@tuhh.de)

  • Venue:
  • Journal of Functional Programming
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Earlier studies have introduced a list of high-level evaluation criteria to assess how well a language supports generic programming. Languages that meet all criteria include Haskell because of its type classes and C++ with the concept feature. We refine these criteria into a taxonomy that captures commonalities and differences between type classes in Haskell and concepts in C++ and discuss which differences are incidental and which ones are due to other language features. The taxonomy allows for an improved understanding of language support for generic programming, and the comparison is useful for the ongoing discussions among language designers and users of both languages.