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
