> |   1. mutual dependencies:
> |     class Add x y z | x y -> z, x z -> y, y z -> x
> |  I think this example can be emulated with type functions; the
> |  emulation didn't work with GHC 6.10, at least. It may work now.

> (The example you give is a bit odd because you specified that the
> types of any two arguments determine the third, which probably isn't
> what you want for Add.  But no matter.)

Actually I meant the triple dependencies, when any two arguments determine
the third. That class was implemented in the following

        http://okmij.org/ftp/Haskell/PeanoArithm.lhs

(it was called Sum). The file also demonstrates exponentiation, as a
ternary relation where any two arguments determine the third. (Unlike
Sum, that relation is partial).



_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime

Reply via email to