ANNOUNCE: GHC 7.0.1 Release Candidate 1

David Fox ddssff at
Tue Sep 28 23:10:58 EDT 2010

I'm seeing errors like this in various places, which I guess are
coming from the new type checker:

    Couldn't match type `s' with `s3'
      because this skolem type variable would escape: `s3'
    This skolem is bound by the polymorphic type `forall s. ST s a'
    The following variables have types that mention s
      fill0 :: MBUArr s e -> ST s Int
        (bound at Data/Array/Vector/Prim/BUArr.hs:669:5)
    In the first argument of `runST', namely
      `(do { marr <- newMBU n;
             n' <- fill0 marr;
             unsafeFreezeMBU marr n' })'

I would love to hear an explanation about what they mean and what to
do about them.  (This one is from uvector.)

More information about the Glasgow-haskell-users mailing list