Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- liftTry :: forall e r a. (HasCallStack, Exception e, Lifted IO r) => Eff r a -> Eff r (Either e a)
- maybeThrow :: Member (Exc x) e => x -> Maybe a -> Eff e a
- module Control.Eff.Exception
Documentation
liftTry :: forall e r a. (HasCallStack, Exception e, Lifted IO r) => Eff r a -> Eff r (Either e a) Source #
Catch Exception
thrown by an effect.
maybeThrow :: Member (Exc x) e => x -> Maybe a -> Eff e a Source #
Very similar to liftEither
but for Maybe
s. Unlike liftMaybe
this
will throw the given value (instead of using Fail
).
module Control.Eff.Exception
Orphan instances
MonadThrow (Eff e) => MonadThrow (Eff ((Exc x :: Type -> Type) ': e)) Source # | |
MonadThrow (Eff e) => MonadThrow (Eff (Reader x ': e)) Source # | |
MonadThrow (Eff e) => MonadThrow (Eff (Reader x ': e)) Source # | |
MonadThrow m => MonadThrow (Eff (Lift m ': ([] :: [Type -> Type]))) Source # | |
MonadCatch (Eff e) => MonadCatch (Eff ((Exc x :: Type -> Type) ': e)) Source # | |
MonadCatch (Eff e) => MonadCatch (Eff (Reader x ': e)) Source # | |
MonadCatch (Eff e) => MonadCatch (Eff (Reader x ': e)) Source # | |
MonadCatch m => MonadCatch (Eff (Lift m ': ([] :: [Type -> Type]))) Source # | |
MonadMask (Eff e) => MonadMask (Eff ((Exc x :: Type -> Type) ': e)) Source # | |
mask :: ((forall a. Eff (Exc x ': e) a -> Eff (Exc x ': e) a) -> Eff (Exc x ': e) b) -> Eff (Exc x ': e) b # uninterruptibleMask :: ((forall a. Eff (Exc x ': e) a -> Eff (Exc x ': e) a) -> Eff (Exc x ': e) b) -> Eff (Exc x ': e) b # generalBracket :: Eff (Exc x ': e) a -> (a -> ExitCase b -> Eff (Exc x ': e) c) -> (a -> Eff (Exc x ': e) b) -> Eff (Exc x ': e) (b, c) # | |
MonadMask (Eff e) => MonadMask (Eff (Reader x ': e)) Source # | |
mask :: ((forall a. Eff (Reader x ': e) a -> Eff (Reader x ': e) a) -> Eff (Reader x ': e) b) -> Eff (Reader x ': e) b # uninterruptibleMask :: ((forall a. Eff (Reader x ': e) a -> Eff (Reader x ': e) a) -> Eff (Reader x ': e) b) -> Eff (Reader x ': e) b # generalBracket :: Eff (Reader x ': e) a -> (a -> ExitCase b -> Eff (Reader x ': e) c) -> (a -> Eff (Reader x ': e) b) -> Eff (Reader x ': e) (b, c) # | |
MonadMask (Eff e) => MonadMask (Eff (Reader x ': e)) Source # | |
mask :: ((forall a. Eff (Reader x ': e) a -> Eff (Reader x ': e) a) -> Eff (Reader x ': e) b) -> Eff (Reader x ': e) b # uninterruptibleMask :: ((forall a. Eff (Reader x ': e) a -> Eff (Reader x ': e) a) -> Eff (Reader x ': e) b) -> Eff (Reader x ': e) b # generalBracket :: Eff (Reader x ': e) a -> (a -> ExitCase b -> Eff (Reader x ': e) c) -> (a -> Eff (Reader x ': e) b) -> Eff (Reader x ': e) (b, c) # | |
MonadMask m => MonadMask (Eff (Lift m ': ([] :: [Type -> Type]))) Source # | |
mask :: ((forall a. Eff (Lift m ': []) a -> Eff (Lift m ': []) a) -> Eff (Lift m ': []) b) -> Eff (Lift m ': []) b # uninterruptibleMask :: ((forall a. Eff (Lift m ': []) a -> Eff (Lift m ': []) a) -> Eff (Lift m ': []) b) -> Eff (Lift m ': []) b # generalBracket :: Eff (Lift m ': []) a -> (a -> ExitCase b -> Eff (Lift m ': []) c) -> (a -> Eff (Lift m ': []) b) -> Eff (Lift m ': []) (b, c) # |