
John Lato
writes: Oleg included the error state to enable short-circuiting of computation, and I guess everyone just left it in. Recently I've been wondering if it should be removed, though, in favor requiring explicit (i.e. explicit in the type sig) exceptions for everything. I'm not sure if that would be more or less complicated.
If you don't want to go all the way to checked exceptions, MonadCatchIO could also be a nice way to go here.
Be *very* careful of combining MonadCatchIO and CPS: the MonadCatchIO instance for ContT does not perform correctly, and can call the exception handler twice. It might produce other erroneous behavior, but that was a bug
On Tue, Aug 24, 2010 at 7:16 PM, Gregory Collins