[Haskell] ANNOUNCE: Generic Haskell 1.42 (Coral)

Andres Loeh andres at cs.uu.nl
Fri Jan 14 09:01:34 EST 2005


              Generic Haskell version 1.42 (Coral)
              ====================================

We are happy to announce the third 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.23 (Beryl)
--------------------------

* Dependency-style Generic Haskell [1] is supported, i.e.,
  generic functions can be written in a simpler and more
  natural style. In particular, type signatures of generic
  functions have become simpler -- there is no need to define
  kind-indexed types any longer.

* Local redefinition, generic abstraction, and default cases
  are now implemented as described in 
  "Exploring Generic Haskell" [2].

Download
--------

The Generic Haskell compiler is available in source and binary
distributions. Binaries for Linux, Windows, and MacOSX
are available. These are available from:

    http://www.generic-haskell.org/compiler.html

The documentation is also available separately from that page.

For more general information, point your browser to:

    http://www.generic-haskell.org


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 Hinze.


  Pleasant programming,
  The Generic Haskell Team at Utrecht University

  info at generic-haskell.org



[1] A. Loeh, D. Clarke, and J. Jeuring. Dependency-style Generic Haskell. 
    In O. Shivers, editor, Proceedings of the International Conference on 
    Functional Programming, ICFP'03, pages 141--152. ACM Press, August 2003. 

[2] A. Loeh. Exploring Generic Haskell. PhD thesis, Utrecht University,
    September 2004.


More information about the Haskell mailing list