[Haskell-cafe] ANNOUNCE: Generic Haskell 1.80 (Emerald)
Thomas van Noort
thomas at cs.ru.nl
Sat Apr 12 08:39:34 EDT 2008
Generic Haskell version 1.80 (Emerald)
We are happy to announce the fifth release of Generic Haskell,
an extension of Haskell that facilitates generic programming.
Generic Haskell includes the following features:
* type-indexed values -- generic functions that can be
instantiated on all Haskell data types.
* type-indexed types -- types which are indexed over the type
constructors underlying Haskell datatypes.
The Generic Haskell compiler takes Generic Haskell source
and produces Haskell code.
Changes since 1.62 (Diamond)
* Generic views for generic types  are now supported.
* The implementation of type-indexed types is improved.
The Generic Haskell compiler is available in source and binary
distributions. Binaries for Linux, Windows, and MacOSX
are available. These are available from:
The documentation is also available separately from that page.
For more general information, point your browser to:
Why Generic Haskell?
Software development often consists of designing datatypes, around which
functionality is added. Some functionality is datatype
specific, whereas other functionality is defined on almost all
datatypes in such a way that it depends only on the structure of the
datatype. A function that works on many datatypes in this way
is called a generic function. Examples of generic functionality
include editing, pretty-printing or storing a value in a database, and
comparing two values for equality.
Since datatypes often change and new datatypes are introduced, we
have developed Generic Haskell, an extension of the functional
programming language Haskell that supports generic definitions,
to save the programmer from (re)writing instances of generic
functions. The original design of Generic Haskell is based on work by Ralf
The Generic Haskell Team at Utrecht University
info at generic-haskell.org
 Thomas van Noort. Generic views for generic types. Master's thesis,
Utrecht University, 2008.
More information about the Haskell-Cafe