| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Control.Monad.Ology.Data.Exn
Synopsis
- data Exn (m :: Type -> Type) e = MkExn {}
- exnTry :: Monad m => Exn m e -> m a -> m (Result e a)
- exnHandle :: Exn m e -> (e -> m a) -> m a -> m a
- exnOnException :: forall e m a. Monad m => Exn m e -> m a -> m () -> m a
- exnBracket :: forall e m a b. MonadTunnelIO m => Exn m e -> m a -> (a -> m ()) -> (a -> m b) -> m b
- exnFinally :: forall e m a. MonadTunnelIO m => Exn m e -> m a -> m () -> m a
- exnBracket_ :: forall e m. MonadTunnelIO m => Exn m e -> m () -> m () -> m --> m
- mapExn :: forall e2 e1 (m :: Type -> Type). (e2 -> e1) -> (e1 -> Maybe e2) -> Exn m e1 -> Exn m e2
- liftExn :: forall (t :: TransKind) (m :: Type -> Type). (MonadTransTunnel t, Monad m) => Exn m --> Exn (t m)
- allExn :: forall (m :: Type -> Type). MonadException m => Exn m (Exc m)
- someExn :: forall e (m :: Type -> Type). MonadCatch e m => Exn m e
Documentation
data Exn (m :: Type -> Type) e Source #
Exceptions that can be thrown and caught in this monad.
Constructors
| MkExn | |
exnOnException :: forall e m a. Monad m => Exn m e -> m a -> m () -> m a Source #
exnBracket :: forall e m a b. MonadTunnelIO m => Exn m e -> m a -> (a -> m ()) -> (a -> m b) -> m b Source #
exnFinally :: forall e m a. MonadTunnelIO m => Exn m e -> m a -> m () -> m a Source #
exnBracket_ :: forall e m. MonadTunnelIO m => Exn m e -> m () -> m () -> m --> m Source #
mapExn :: forall e2 e1 (m :: Type -> Type). (e2 -> e1) -> (e1 -> Maybe e2) -> Exn m e1 -> Exn m e2 Source #