[Haskell-cafe] Re: Using the ContT monads for early exits of IO ?

Ben Millwood haskell at benmachine.co.uk
Thu Jun 10 16:21:43 EDT 2010


On Thu, Jun 10, 2010 at 8:57 PM, Maciej Piechotka <uzytkownik2 at gmail.com> wrote:
>
> Error monad seems not to be a semantic solution as we exit on success
> not failure.
>

Which is really why the Either monad should not necessarily have Error
associations :)
If you forget about the fail method, the Monad (Either e) instance
doesn't need the e to be an error type.

Alternatively, if even Error is more information than you need, you
could use MaybeT:

http://hackage.haskell.org/package/MaybeT

which allows you to just stop. Given you're using it with IO it'd be
easy to write a result to an IORef before terminating the computation,
so it's of equivalent power, if slightly less convenient.


More information about the Haskell-Cafe mailing list