
28 Sep
2010
28 Sep
'10
11:10 p.m.
I'm seeing errors like this in various places, which I guess are coming from the new type checker: Data/Array/Vector/Prim/BUArr.hs:663:3: 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.)