A comparison of C++ concepts and Haskell type classes
Paper in proceedings, 2008

Earlier studies have introduced a list of high-level evaluation criteria to assess how well a language supports generic programming. Since each language that meets all criteria is considered generic, those criteria are not fine-grained enough to differentiate between two languages for generic programming. We refine these criteria into a taxonomy that captures 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.

Haskell

Concepts

Specification-Driven Development

C++

Generic Programming

Type Classes

Author

Jean-Philippe Bernardy

Chalmers, Computer Science and Engineering (Chalmers), Software Engineering and Technology (Chalmers)

Patrik Jansson

Chalmers, Computer Science and Engineering (Chalmers), Software Engineering and Technology (Chalmers)

Marcin Zalewski

Chalmers, Computer Science and Engineering (Chalmers), Software Engineering and Technology (Chalmers)

Sibylle Schupp

Chalmers, Computer Science and Engineering (Chalmers), Software Engineering and Technology (Chalmers)

Andreas Priesnitz

Chalmers, Computer Science and Engineering (Chalmers), Software Engineering and Technology (Chalmers)

ACM SIGPLAN Workshop on Generic Programming 2008. Victoria, Canada, 20th September 2008

37-48

Subject Categories

Software Engineering

ISBN

978-1-60558-060-9

More information

Created

10/7/2017