ANNOUNCE: Generic Haskell version 0.99 (Amber)

Andres Loeh
Fri, 2 Nov 2001 11:45:37 +0100

              Generic Haskell version 0.99 (Amber)

We are happy to announce the first release of Generic Haskell,
an extension of Haskell which facilitates generic programming.

Generic Haskell includes the following features:

* type-indexed values -- generic functions definable for
  all Haskell data types.

* kind-indexed types -- for giving types to type-indexed values

* 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 (which is in most cases Haskell 98 


The Generic Haskell compiler is available in source and binary
distributions. Binaries for Linux, Windows, MacOSX, and Solaris
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 storing a value in a database, editing a value, comparing 
two values for equality, pretty-printing a value.

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 design of Generic Haskell is based on recent work 
by Ralf Hinze.

  Pleasant programming,
  The Generic Haskell Team at Utrecht University
  (Dave Clarke, Ralf Hinze, Johan Jeuring, Andres Loeh, Jan de Wit)