19 Dec
2000
19 Dec
'00
2:15 p.m.
Hello. I am getting an error message from ghc 4.08.1 with the following code:
class Collection e ce | ce -> e where empty :: ce insert :: e -> ce -> ce
class (Eq e, Collection e ce) => Set e ce where member :: e -> ce -> Bool union :: ce -> ce -> ce
Main.lhs:7: Class type variable `e' does not appear in method signature union :: {- implicit forall -} ce -> ce -> ce Since `ce' uniquely determines `e', I would expect the compiler to assume that `e' appears in the method signature. Either I am misunderstanding something, or something may be missing in the compiler around rename/RnSource.lhs:249. Regards, Sebastien Carlier