Changes between Initial Version and Version 1 of Ticket #110


Ignore:
Timestamp:
Apr 22, 2006 1:06:07 AM (9 years ago)
Author:
john@…
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #110 – Description

    initial v1  
    1111Generalize higher order IO combinators to take a MonadIO context.  For example, try and catch would then have types
    1212
     13{{{
    1314try :: MonadIO m => m a -> m (Either Exception a)
    1415
    1516catch :: MonadIO m => m a -> (Exception -> m a) - > m a
     17}}}
    1618
    1719This allows one to use custom monads built on IO and still do correct exception handling, etc. without haveing to do lots of nasty monad unwrapping/rewrapping.
     20
     21NOTE: This is not possible to implement. there is no way to 'rewind' a monad
     22in a generic way in order to implement try or catch. - JohnMeacham
     23
     24
    1825
    1926More radical proposal: