ExceptIOH/src/Control/Monad/Except/IOH.hs

9 lines
239 B
Haskell

module Control.Monad.Except.IOH (
handle
) where
import Control.Monad.Except (MonadError(..), ExceptT, runExceptT)
handle :: Monad m => ExceptT a m b -> (a -> m b) -> m b
handle m handler = (runExceptT m) >>= either handler return