ghc-4 does not allow what ghc-3.02 did:
class ...=> MulSemigroup a where mul :: a -> a -> a
...
class (AddGroup a,MulSemigroup a) => Ring a where ...
class (Ring r,AddGroup a) => LeftModule r a where
cMul :: r -> a -> a
instance Ring a => LeftModule a a where cMul = mul
ghc-4 says
Illegal instance declaration for `LeftModule a a'
(There must be at least one non-type-variable in the instance head)
If Haskell-2 is going to be this way, then this is somehow against the
needs of algebra.
ghc developers, please, advise.
------------------
Sergey Mechveliani
[EMAIL PROTECTED]