Prototyping Generic Programming in Template Haskell
Journal article, 2004

Generic Programming deals with the construction of programs that can be applied to many different datatypes. This is achieved by parameterizing the generic programs by the structure of the datatypes on which they are to be applied. Programs that can be defined generically range from simple map functions through pretty printers to complex XML tools. The design space of generic programming languages is largely unexplored, partly due to the time and effort required to implement such a language. In this paper we show how to write flexible prototype implementations of two existing generic programming languages, PolyP and Generic Haskell, using Template Haskell, an extension to Haskell that enables compile-time meta-programming. In doing this we also gain a better understanding of the differences and similarities between the two languages.


Ulf Norell

Chalmers, Department of Computing Science, Functional Programming

Patrik Jansson

Chalmers, Department of Computing Science, Programming Logic

Chalmers, Department of Computing Science, Functional Programming

Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

03029743 (ISSN) 16113349 (eISSN)

Vol. 3125 314-333
3-540-22380-0 (ISBN)

Subject Categories

Computer Science





More information