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]

Reply via email to