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