Changes between Initial Version and Version 1 of Ticket #110


Ignore:
Timestamp:
Apr 22, 2006 1:06:07 AM (8 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: