[Haskell-cafe] Typechecking Help

Joel Reymont joelr1 at gmail.com
Mon Jan 2 04:52:57 EST 2006


I had this exact same issue when I swapped e and e1 by mistake.

Does your code work right without the type signature or does it just  
compile?

On Jan 2, 2006, at 8:59 AM, Dominic Steinitz wrote:

> Codec/ASN1/BER.hs:66:0:
>     Quantified type variable `e1' is unified with another  
> quantified type
> variable e
>     When trying to generalise the type inferred for `choiceAux'
>       Signature type:     forall (m :: * -> *) e e1.
>                           (MonadState [Maybe Encoding] m,
>                            MonadState [Maybe Encoding] (StateT [Maybe
> Encoding] m),
>                            MonadError e (StateT [Maybe Encoding] m),
>                            MonadError e1 m) =>
>                           (TagPlicity, NamedType) -> Encoding -> m  
> Defaulted
>       Type to generalise: (TagPlicity, NamedType) -> Encoding -> m  
> Defaulted
>     In the type signature for `choiceAux'
>     When generalising the type(s) for tc, choiceAux, k
>
> Changing e1 to e makes it typecheck.

--
http://wagerlabs.com/







More information about the Haskell-Cafe mailing list