We try to please.  How about this?

Simon


Marc.hs:7:
    Cannot unify the type-signature variable `p' with the type `[]'
        Expected type: [a]
        Inferred type: p a1
    In the first argument of `ci', namely `a'
    In the scrutinee of a case expression: ci a


> -----Original Message-----
> From: Marc van Dongen [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, April 15, 1999 6:01 PM
> To: Simon Peyton-Jones
> Subject: Re: Proposal for error message improvement
> 
> 
> : "I would have found it much more helpful if GHC had printed
> :  the following message ..."  
> : concerning the example below.
> : > > class C p a where
> : > >   ci :: p a -> p a
> : > 
> : > > f :: (C p a) => (p a) -> (p a)
> : > > f a = case ci a of
> : > >         [] -> a
> 
> 
> Proposal.lhs:6:
>     Inferred type is less polymorphic than expected
>         Quantified type variable `p' is unified with `[]'
>     When checking the type signature
>         f :: forall p1 a1. {C p1 a1} => p1 a1 -> p1 a1
> 
> is fine this tells you what is wrong. Additionally
> information about a libe number where about there is
> some ``obvious'' problem. E.g.
> 
>     because the type of ``ci a'' and ``[]'' in the code-fragment
>       ``case ci a of
>            [] -> a''
>     in lines 7 and 8 cannot be unified.
> 
> alternatively
> 
>     because the types of ``[]'' and ``a'' in the code-fragment
>       ``case ci a of
>            [] -> a''
>     in lines 7 and 8 cannot be unified.
> 
> alternatively
> 
>     because the type of expression ``[]'' in the code-fragment
>       ``case ci a of
>            [] -> a''
>     in lines 7 and 8 is too speciffic.
> 
> 
> Anything else wil do as well, as long as lines 7 and 8
> are mentioned:-)
> 
> 
> Regards,
> 
> 
> Marc
> 

Reply via email to