[Haskell-cafe] Re: not possible with monad transformers ?

Pavel Zolnikov pavelzolnikov at yahoo.com
Tue Nov 30 15:55:24 EST 2004


You are absolutely right! I missed that ‘let’.
And it does work, thanks.

On the other hand it is still not what I intended, so I decided
not to use  Monads in this particular case. I wanted to represent
values that can fail and that have complete history of errors.
So that if I calculate

c = (liftM2 (+)) a b

and if *both* a and b have failed, c would also fail plus it
would have history of errors form a and b (and potentially it’s own).
I tried to do  this by combining Maybe and Output monads.
Now I realize that as long as I am using liftM2 it is not possible
to have history of errors from a and b - only form a. And as I moved
to custom lift functions I realized I didn’t need monads in the 
first place.

Anyway, thanks for your help, it is very much appreciated.

Regards,
Pavel.

I didn’t know you can have ‘let’ without ‘in’ in do expressions, nice!




More information about the Haskell-Cafe mailing list