iteratee alternatives to MonadCatchIO

Gregory Collins greg at gregorycollins.net
Thu Feb 10 13:51:00 GMT 2011


This is something I've worried about a little bit also. I have a fuzzy
feeling like we're ok since we switched to using "enumerator" and
added a "catch" function for our early termination logic, but I'm not
100% satisfied I understand all of the issues and/or that my analysis
is correct. For now until someone demonstrates otherwise, I think
we're ok with MonadCatchIO, but...

G

On Thu, Feb 10, 2011 at 3:03 AM, John Lato <jwlato at gmail.com> wrote:
> Hello,
>
> Recently many projects have been switching from MonadCatchIO, because that
> library often doesn't do what users want in short-circuiting monads such as
> Error.  I would like to know if there are any comments regarding iteratee
> switching to either monad-peel[0] or monad-control[1].  Currently it looks
> like monad-control is likely to supercede monad-peel in the near future as
> it is more performant, however it's very new and not as well understood.
>
> As I see it:
>
> Pro monad-control:
> 1.  exception handling Does The Right Thing[2] with short-circuiting monads
> 2.  faster?
>
> Contra:
> 1.  Library is less stable, and less well understood
> 2.  Client code may need to be re-written
>
> Thoughts?
>
> John
>
> [0] http://hackage.haskell.org/package/monad-peel
> [1] http://hackage.haskell.org/package/monad-control
> [2] I've always expected the behavior provided by MonadCatchIO, and some
> client code may rely upon it, so I'm not convinced it's a universal good.
>
> _______________________________________________
> Iteratee mailing list
> Iteratee at projects.haskell.org
> http://projects.haskell.org/cgi-bin/mailman/listinfo/iteratee
>
>



-- 
Gregory Collins <greg at gregorycollins.net>



More information about the Iteratee mailing list