I want to know why is the following construction invalid in Haskell 1.3:

> class Many m where
>   components :: m a -> [a]

> instance (Many m, Show a) => Show (m a) where
>    showsPrec _ ma = shows (components ma)

I know that an instance declaration requires a type constructor
(and m is a type constructor variable), but I don't understand why.
The construction looks good to me.

Thanks for your answer.
Fidel (Pablo E. Martinez Lopez).



Reply via email to