
On Fri, Apr 02, 2004 at 11:21:05AM +0200, Robert Will wrote:
1. Left-Single FunDeps are Syntactic Sugar for Constructor Classes
I think you should try writing programs a little before making such broad claims... I was convinced when I read this, but then someone in haskell-cafe (http://www.haskell.org//pipermail/haskell-cafe/2004-April/006014.html) tried actually doing it, and ran into some trouble; see the second half of the message. I don't know how to make the "Constructor Class" version of the program work without '-fallow-undecidable-instances'. Do you? Also:
3. Parametric Type Classes are Normalised FunDeps
... Classes with only one FunDep are necessarily in normal form. I don't want to consider transforming class declarations to normal form (no idea what that would mean...), just this: if we use a parametric type class of the form "class a \elem C b where" ('a' and 'b' sets of variables) then this corresponds just to a FunDep in normal form. Non-normal-form FunDeps can't be expressed with Parametric Type Classes.
I have no idea what you mean here. "class a \elem C b where" doesn't look like Haskell to me. What is a parametric type class? Could you expand a little? (And maybe we should move this discussion to haskell-cafe, since it's very off-topic for the libraries list and other people might be interested. Maybe you could repost the parent there as an introduction?) Peace, Dylan