[Haskell] Fundep broken in GHC 6.6

Yitzchak Gale gale at sefer.org
Sun Nov 12 14:35:38 EST 2006


Hi,

The following class declaration worked in GHC 6.4.
I recently upgraded to 6.6 (following Debian), and
now it is broken.

class Error e => Game b mv e | b -> mv e where
    newBoard :: MonadState b m => m ()
...

Since MonadState has the fundep m -> b, the type
of newBoard fully specifies all of the class parameters.
And this worked fine in GHC 6.4. But GHC 6.6
complains:

    The class method `newBoard'
    mentions none of the type variables of the class Game b mv e
    When checking the class method: newBoard :: m ()
    In the class declaration for `Game'

Any ideas?

Thanks,
Yitz


More information about the Haskell mailing list