About fundeps

Anton Moscal msk@post.tepkom.ru
Wed, 10 Jan 2001 12:58:36 +0300 (MSK)


When I apply hugs to the following program:

import Char (ord) class Conv a b | a -> b where conv:: a -> b 
instance Conv Char Int where conv = ord 
instance (Conv a b, Conv b c) => Conv a c where conv = conv . conv

Hugs reports:

ERROR "fdep.hs" (line 4): Instances are not consistent with dependencies
*** This instance : Conv a b 
*** Conflicts with : Conv Char Int 
*** For class : Conv a b 
*** Under dependency : a -> b

But why? 

Anton Moscal