Advertisement
Guest User

Untitled

a guest
Apr 24th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ghci> import Control.Exception.Safe
  2. ghci> :i MonadThrow
  3. class Monad m => MonadThrow (m :: * -> *) where
  4.   Control.Monad.Catch.throwM :: Exception e => e -> m a
  5.   {-# MINIMAL throwM #-}
  6.         -- Defined in ‘Control.Monad.Catch’
  7. instance MonadThrow [] -- Defined in ‘Control.Monad.Catch’
  8. instance MonadThrow Maybe -- Defined in ‘Control.Monad.Catch’
  9. instance MonadThrow IO -- Defined in ‘Control.Monad.Catch’
  10. instance e ~ SomeException => MonadThrow (Either e)
  11.   -- Defined in ‘Control.Monad.Catch’
  12. ghci> :i MonadCatch
  13. class MonadThrow m => MonadCatch (m :: * -> *) where
  14.   Control.Monad.Catch.catch :: Exception e =>
  15.                                m a -> (e -> m a) -> m a
  16.   {-# MINIMAL catch #-}
  17.         -- Defined in ‘Control.Monad.Catch’
  18. instance MonadCatch IO -- Defined in ‘Control.Monad.Catch’
  19. instance e ~ SomeException => MonadCatch (Either e)
  20.   -- Defined in ‘Control.Monad.Catch’
  21. ghci>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement