Hi,

Consider this (a bit pathological) Haskell code:

--------------------------------------
class A a where
  foo :: A (b d) => a (c b)
--------------------------------------

GHC compiles it successfully, but Hugs rejects it:

Ambiguous type signature in class declaration
*** ambiguous type : (A a, A (b c)) => a (d b)
*** assigned to    : foo

What is the correct behavior, and which part of the haskell 98 report
explains this?

Thanks,
Vladimir
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to