[Haskell-cafe] Continuation vs Codensity

silvio silvio.frischi at gmail.com
Sat Mar 21 14:32:25 UTC 2015

I just saw this

Personally, I think the suggested type for callCC

newtype ContT m a = ContT { runContT :: forall r. (a -> m r) -> m r }

class MonadCont m where
    callCC :: (forall b. (a -> m b) -> m b) -> m a

is much more intuitive and resembles the actual type of ContT much more
closely then the current callCC and it can be Fixed. So I was wondering
if there was an other reason than convention for not using that type.


More information about the Haskell-Cafe mailing list