ghc expects that I use all type variables in a multi-paramter type class.
It seems to me that this makes no sense.

e.g.: a Dictionary class with 'key' as the type of keys in 'dict' and 'dat' as
the type of information associated with a key.

> class (Eq key, Ord key) => Dictionary dict key dat where
    ...
    delete :: key -> dict -> dict
    ...

Obviously I need only 'key' and 'dict' in this operation. ghc wants to get the
'dat' in the type signature, too.
Is there any reason for this restriction?

Martin Stein

Reply via email to