RossMeikleham / Tainted

Tainted type, and associated operations

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Missing MonadCont instance

mfaerevaag opened this issue · comments

Hi again!

So I've been playing more with this nice monad, but got stuck when trying to use the TaintedT and ContT transformers together. This is due to the missing instance of MonadCont, which I'm having a hard time implementing... Do you have any idea?

I have been trying something like:

instance (MonadCont m) => MonadCont (TaintedT m) where
  callCC f = TaintedT $ callCC $ \c -> extractTaint (f (TaintedT . c))

which is just wrong, or

instance (MonadCont m) => MonadCont (TaintedT m) where
  callCC = join . lift . return . callCC

which never returns...