cornea-0.4.0.0: classy optical monadic state
Safe HaskellNone
LanguageHaskell2010

Control.Monad.DeepError

Documentation

class (MonadError e m, DeepPrisms e e') => MonadDeepError e e' m where Source #

Methods

throwHoist :: e' -> m a Source #

Instances

Instances details
(MonadError e m, DeepPrisms e e') => MonadDeepError e e' m Source # 
Instance details

Defined in Control.Monad.DeepError

Methods

throwHoist :: e' -> m a Source #

catchAt :: forall e' e m a. MonadDeepError e e' m => (e' -> m a) -> m a -> m a Source #

catchAs :: forall e' e m a. MonadDeepError e e' m => a -> m a -> m a Source #

ignoreError :: forall e' e m. MonadDeepError e e' m => m () -> m () Source #

hoistEither :: MonadDeepError e e' m => Either e' a -> m a Source #

hoistEitherWith :: MonadDeepError e e'' m => (e' -> e'') -> Either e' a -> m a Source #

hoistEitherAs :: MonadDeepError e e'' m => e'' -> Either e' a -> m a Source #

hoistMaybe :: MonadDeepError e e' m => e' -> Maybe a -> m a Source #

tryHoist :: MonadBaseControl IO m => MonadDeepError e e' m => Exception ex => (ex -> e') -> m a -> m a Source #

tryHoistAs :: forall ex e e' m a. MonadBaseControl IO m => MonadDeepError e e' m => Exception ex => e' -> m a -> m a Source #

tryHoistIO :: MonadBaseControl IO m => MonadDeepError e e' m => (IOException -> e') -> m a -> m a Source #

tryHoistIOAs :: MonadBaseControl IO m => MonadDeepError e e' m => e' -> m a -> m a Source #

tryHoistAny :: MonadBaseControl IO m => MonadDeepError e e' m => (SomeException -> e') -> m a -> m a Source #

tryHoistAnyAs :: MonadBaseControl IO m => MonadDeepError e e' m => e' -> m a -> m a Source #