[Haskell-cafe] Kind of confusing

Anton van Straaten anton at appsolutions.com
Mon May 11 20:43:23 EDT 2009

GHC amused me today with this error (context omitted):

     Couldn't match kind `(* -> *) -> * -> *' against `?? -> ? -> *'
     When matching the kinds of `t :: (* -> *) -> * -> *' and
                                `(->) :: ?? -> ? -> *'

It was a silly mistake: I had used 'lift' where I intended to use 'liftM'.

But I'm thinking Haskell compilers should have some sort of option 
which, when the ratio of punctuation to alphanumerics in an error 
message exceeds a certain level, just responds to the user with a more 
readily comprehensible message such as "WTF, dude?"

Serious question: what is the significance of the question mark and 
double question marks in those signatures, or better yet, where can I 
read about it?


More information about the Haskell-Cafe mailing list