[Haskell-cafe] Re: How to combine Error and IO monads?

John Goerzen jgoerzen at complete.org
Tue Dec 12 23:54:28 EST 2006

On Fri, 08 Dec 2006 07:31:25 -0500, Cat Dancer wrote:

> On 12/7/06, J. Garrett Morris <trevion at gmail.com> wrote:
>> foo :: ErrorT String IO Int
>> Since ErrorT String IO Int is not the same as IO, you can't use IO
>> operations directly.  In this case, you want:
>> <     a <- lift getLine
>> You want:
>> <     r <- runErrorT foo
> Wow!  I found your help terrific!  Thank you!   Can I give you some money?

I didn't see the original question, but there are some examples of this in
the ConfigFile (formerly part of MissingH) docs here:


After you read that, you'll probably also want to scroll back and look at
the other examples of usage:


to really give you a complete sense of the styles available.

The Error monad is one of the really awesome things about Haskell, IMHO.

-- John

More information about the Haskell-Cafe mailing list