Skip to main content
Article thumbnail
Location of Repository

The Generic Haskell user's guide, Version 1.60 - Diamond release

By A. Löh, J.T. Jeuring and A. Rodriguez


Software development often consists of designing datatypes around which functionality is\ud added. Some functionality is datatype specific, whereas other functionality is defined on\ud almost all datatypes in a way that depends only on the structure of the datatype. A function\ud that works on many datatypes in this manner is called a generic (or polytypic) function.\ud Examples of generic functionality include editing, pretty-printing or storing a value in a\ud database, and comparing two values for equality.\ud Since datatypes often change and new datatypes are introduced, we have developed Generic\ud H ASKELL, an extension of the functional programming language Haskell [11] that supports\ud generic definitions, to save the programmer from (re)writing instances of generic functions.\ud The original design of Generic H ASKELL is based on work by Ralf Hinze [3]. The current\ud release is based on recent work by Dave Clarke, Johan Jeuring and Andres L¨oh [10, 9]. It\ud extends Haskell with, among other things, a construct for defining type-indexed values. These\ud values can be specialised to all Haskell datatypes, facilitating wider application of generic\ud programming than provided by earlier systems such as PolyP [8]

Topics: Wiskunde en Informatica
Year: 2006
OAI identifier:
Download PDF:
Sorry, we are unable to provide the full text but you may find it at the following location(s):
  • (external link)
  • Suggested articles

    To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.