[Haskell-cafe] Typechecking Help

Bulat Ziganshin bulatz at HotPOP.com
Mon Jan 2 05:59:52 EST 2006


Hello Dominic,

Monday, January 02, 2006, 11:59:53 AM, you wrote:

*Codec.ASN1.BER>> :t choiceAux
DS> choiceAux :: forall (m :: * -> *) e e1.
DS>              (MonadState [Maybe Encoding] m,
DS>               MonadState [Maybe Encoding] (StateT [Maybe Encoding] m),
DS>               MonadError e (StateT [Maybe Encoding] m),
DS>               MonadError e1 m) =>
DS>              (TagPlicity, NamedType) -> Encoding -> m Defaulted

DS> But if I try to give it a type annotation of

DS> choiceAux :: (MonadState [Maybe Encoding] m,
DS>               MonadState [Maybe Encoding] (StateT [Maybe Encoding] m),
DS>               MonadError e (StateT [Maybe Encoding] m),
DS>               MonadError e1 m) =>
DS>              (TagPlicity, NamedType) -> Encoding -> m Defaulted

you omited `forall` specifier, which, i think, makes the difference



-- 
Best regards,
 Bulat                            mailto:bulatz at HotPOP.com





More information about the Haskell-Cafe mailing list