[Haskell-cafe] ContT and ST stack
akborder at gmail.com
Thu Mar 10 14:18:24 CET 2011
I have the following (simplified) piece of code:
find :: Int -> [Int]
find i = runST . (`runContT` return) $
callCC $ \escape -> do
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?
More information about the Haskell-Cafe