
Hello folks, Im kinda new to haskell. Ive only been fiddling around with it for bout 3 - 4 weeks now. And for the life of me... i cant seem to figure out why this doesnt work : class Foo a where fooFunc :: a -> Int data FooData = FData instance Foo FooData where fooFunc _ = 10 class Bar a where barFunc :: (Foo b) => a -> b -> Int data BarData = BData instance Bar BarData where barFunc _ FData = 20 When I compile I get this : Couldn't match expected type `b' against inferred type `FooData' `b' is a rigid type variable bound by the type signature for `barFunc' at Sample.hs:16:20 In the pattern: FData In the definition of `barFunc': barFunc _ FData = 20 In the definition for method `barFunc' Think Im missing something really big... Could somebody kindly help me out here... Regards Arun Could so