On Wednesday 29 March 2006 09:49, Andrew Pimlott wrote: > If you want to write a MonadError operation that can be used with Maybe > or Either, it would look like > > f :: (MonadError e m, Error e) => Bool -> m Int > f b = if b > then return 42 > else throwError (strMsg "The boolean was false.")
As long as you're happy only using Strings for your error constructs. Or you're willing to write a global construct<->String codec across all error constructs. Doesn't sound very pleasant to me. > > But I see your point now about MonadFail (having throw but not catch) > being perhaps preferable for this use. My intuition is that you'd want three error related monads, Fail, Catch and Convert, to achieve what I'm after... don't know if that's a good intuition or not. :) Daniel _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
