ANNOUNCE: GHC 7.0.1 Release Candidate 1

Isaac Dupree ml at
Wed Sep 29 01:59:33 EDT 2010

>>> Data/Array/Vector/Prim/BUArr.hs:663:3:
>>>      Couldn't match type `s' with `s3'
>>>        because this skolem type variable would escape: `s3'
>>>      ....
> I have to say, as an everyday joe programmer, that the obscurity of
> this message disturbs me.  I hope I don't see it very often.

"Rigid" type variable seemed obscure before.  Now a new different 
obscure thing to learn!

I wonder if there's a reasonable way for the message to notice when it 
might be a situation involving local bindings and new typechecking 
behavior.  Even adding "Possible fix: add a type-signature to 
such-and-such local binding in 'f'", if the message could be arranged to 
make that actually be a likely fix, might be helpful. (We want to make 
sure that the message will still be usually-helpful 2 years in the 
future when everyone's used to this type-checker.  Hmm.)

I don't know: do "skolem" errors always imply that: either it's possible 
to add more type-signatures to fix them: or if that's impossible then 
the code is seriously type-incorrect?


More information about the Glasgow-haskell-users mailing list