ANNOUNCE: Chameleon version 02-06

Martin SULZMANN sulzmann@cs.mu.OZ.AU
Fri, 21 Jun 2002 15:15:41 +1000 (EST)


Chameleon is a Haskell-style language which provides a flexible
overloading mechanism based on Constraint Handling Rules (CHRs).
The user can impose conditions on overloaded identifiers via CHRs.
For example, consider the functional dependency

     class Collects ce e | ce -> e where ...

In Chameleon, we would provide instead the following CHR:

rule Collects ce e, Collects ce e' ==> e=e'

The latest version including a number of examples can be down-loaded
from here: http://www.cs.mu.oz.au/~sulzmann/chameleon
Currently, we have only implemented the front-end, i.e. the type checker.

Also available are three papers

  - "Beyond Type Classes", describing the connection and
    differences compared to Haskell-style type classes.
  - "A Theory of Overloading", describing the theoretical machinery
    behind the Chameleon language.
  - "A Theory of Overloading Part II: Semantics and Coherence", describing 
    an implementation scheme which we yet have to implement.

The papers can be found under: http://www.cs.mu.oz.au/~sulzmann/chr

Cheers,
   Martin