
10 Mar
2011
10 Mar
'11
8:18 a.m.
Dear list, I have the following (simplified) piece of code: find :: Int -> [Int] find i = runST . (`runContT` return) $ callCC $ \escape -> do return [] which used to compile correctly under GHC 6.12.3. Now that I've switched to 7.0.2 it gets rejected with the following error: Couldn't match expected type `forall s. ST s c0' with actual type `m0 r0' Expected type: ContT r0 m0 a0 -> forall s. ST s c0 Actual type: ContT r0 m0 a0 -> m0 r0 In the second argument of `(.)', namely `(`runContT` return)' In the expression: runST . (`runContT` return) I'm a little bit lost at what exactly is the problem. Anyone can suggest a solution? Thanks! AB