Copyright | Copyright (c) 2009-2014, David Sorokin <david.sorokin@gmail.com> |
---|---|

License | BSD3 |

Maintainer | David Sorokin <david.sorokin@gmail.com> |

Stability | experimental |

Safe Haskell | Safe-Inferred |

Language | Haskell2010 |

Tested with: GHC 7.8.3

It defines a type class of monads with `IO`

exception handling capabilities.

- class ExceptionThrowing m where
- class (ExceptionThrowing m, MonadIO m) => ExceptionHandling m where
- catchComp :: (Exception e, MonadIO m) => m a -> (e -> m a) -> m a
- finallyComp :: MonadIO m => m a -> m b -> m a

# Documentation

class ExceptionThrowing m where Source

A computation within which we can throw an exception.

class (ExceptionThrowing m, MonadIO m) => ExceptionHandling m where Source

A computation within which we can handle `IO`

exceptions
as well as define finalisation blocks.