Hostname: page-component-77f85d65b8-7lfxl Total loading time: 0 Render date: 2026-04-21T06:28:16.520Z Has data issue: false hasContentIssue false

Generic programming with C++ concepts and Haskell type classes—a comparison

Published online by Cambridge University Press:  29 September 2010

JEAN-PHILIPPE BERNARDY
Affiliation:
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)
PATRIK JANSSON
Affiliation:
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)
MARCIN ZALEWSKI
Affiliation:
Open Systems Lab, Indiana University, Lindley Hall 215, Bloomington, IN 47405, USA (e-mail: zalewski@osl.iu.edu)
SIBYLLE SCHUPP
Affiliation:
Institute for Software Systems, Hamburg University of Technology, Schwarzenbergstraße 95 (E), D-21073 Hamburg, Germany (e-mail: schupp@tuhh.de)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

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.

Information

Type
Articles
Copyright
Copyright © Cambridge University Press 2010
Submit a response

Discussions

No Discussions have been published for this article.