On Mon, Apr 10, 2006 at 02:39:18PM +0100, Claus Reinke wrote: > >instance B a b => C [a] b Bool > > > >Starting from a constraint set C [a] b Bool, C [a] c d, > > there is no implication that d=Bool > (you could add: 'instance B a b => C [a] b Char' without violating > FD consistency).
These instances (alpha-renamed): instance B a1 b1 => C [a1] b1 Bool instance B a2 b2 => C [a2] b2 Char violate the consistency condition: a substitution that unifies a1 and a2 need not unify b1 and b2, because the consistency condition makes no mention of the contexts. (If it did, the instance improvement rule would be invalid.) _______________________________________________ Haskell-prime mailing list Haskell-prime@haskell.org http://haskell.org/mailman/listinfo/haskell-prime