Ralph writes, Unfortunately not, fail of IO fame has type IOError -> IO a and not String -> m a as Monad's new member. Here's my suggestion: o Monad ((>>=), return, fail) o throw (thanks Frank) instead of fail for the IO operation o raise for Haskell-2's exception mechanism (raise and handle)? Oops, good point. `throw' in IO works fine; or if we don't want to steal such a general name, `ioerror' seems sensible. -- P
- mfail -> fail Philip Wadler
- Re: mfail -> fail Ralf Hinze
- Philip Wadler