
2 Apr
2011
2 Apr
'11
5:38 a.m.
Very interesting, thanks.
I didn't feel your classes yet... Do you think that provide these instances
for Iteratee is possible?
2011/4/2 Bas van Dijk
On 1 April 2011 21:59, Dmitry Olshansky
wrote: Is it possible to change enumFile to using MonadIO class?
No because it uses the control operation Control.Exception.finally :: IO a -> IO b -> IO a internally. You can't lift control operations with liftIO :: MonadIO m => IO a -> m a.
However if you are able to define a MonadTransControl and MonadControlIO instance (from the monad-control package[1]) for Iteratee and use Control.Exception.Control.finally instead of the regular finally, you can use your MyMonad with the modified enumFile.
Good luck,
Bas