| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell98 |
Control.Error.Util
Description
This module exports miscellaneous error-handling functions.
Synopsis
- hush :: Either a b -> Maybe b
- hushT :: forall (m :: Type -> Type) a b. Monad m => ExceptT a m b -> MaybeT m b
- note :: a -> Maybe b -> Either a b
- noteT :: forall (m :: Type -> Type) a b. Monad m => a -> MaybeT m b -> ExceptT a m b
- hoistMaybe :: forall (m :: Type -> Type) b. Monad m => Maybe b -> MaybeT m b
- hoistEither :: forall (m :: Type -> Type) e a. Monad m => Either e a -> ExceptT e m a
- (??) :: forall (m :: Type -> Type) a e. Applicative m => Maybe a -> e -> ExceptT e m a
- (!?) :: Applicative m => m (Maybe a) -> e -> ExceptT e m a
- failWith :: forall (m :: Type -> Type) e a. Applicative m => e -> Maybe a -> ExceptT e m a
- failWithM :: Applicative m => e -> m (Maybe a) -> ExceptT e m a
- bool :: a -> a -> Bool -> a
- (?:) :: Maybe a -> a -> a
- maybeT :: Monad m => m b -> (a -> m b) -> MaybeT m a -> m b
- just :: forall (m :: Type -> Type) a. Monad m => a -> MaybeT m a
- nothing :: forall (m :: Type -> Type) a. Monad m => MaybeT m a
- isJustT :: Monad m => MaybeT m a -> m Bool
- isNothingT :: Monad m => MaybeT m a -> m Bool
- isLeft :: Either a b -> Bool
- isRight :: Either a b -> Bool
- fmapR :: (a -> b) -> Either l a -> Either l b
- newtype AllE e r = AllE {}
- newtype AnyE e r = AnyE {}
- isLeftT :: Monad m => ExceptT a m b -> m Bool
- isRightT :: Monad m => ExceptT a m b -> m Bool
- fmapRT :: forall (m :: Type -> Type) a b l. Monad m => (a -> b) -> ExceptT l m a -> ExceptT l m b
- exceptT :: Monad m => (a -> m c) -> (b -> m c) -> ExceptT a m b -> m c
- bimapExceptT :: forall (m :: Type -> Type) e f a b. Functor m => (e -> f) -> (a -> b) -> ExceptT e m a -> ExceptT f m b
- err :: Text -> IO ()
- errLn :: Text -> IO ()
- tryIO :: forall (m :: Type -> Type) a. MonadIO m => IO a -> ExceptT IOException m a
- handleExceptT :: (Exception e, Functor m, MonadCatch m) => (e -> x) -> m a -> ExceptT x m a
- syncIO :: forall (m :: Type -> Type) a. MonadIO m => IO a -> ExceptT SomeException m a
Conversion
Bool
bool :: a -> a -> Bool -> a Source #
Case analysis for the Bool type.
bool a b c == if c then b else a
Maybe
MaybeT
nothing :: forall (m :: Type -> Type) a. Monad m => MaybeT m a Source #
Analogous to Nothing and equivalent to mzero
Either
Run multiple Either computations and succeed if all of them succeed
mappends all successes or failures
Run multiple Either computations and succeed if any of them succeed
mappends all successes or failures
ExceptT
fmapRT :: forall (m :: Type -> Type) a b l. Monad m => (a -> b) -> ExceptT l m a -> ExceptT l m b Source #
exceptT :: Monad m => (a -> m c) -> (b -> m c) -> ExceptT a m b -> m c Source #
Fold an ExceptT by providing one continuation for each constructor
bimapExceptT :: forall (m :: Type -> Type) e f a b. Functor m => (e -> f) -> (a -> b) -> ExceptT e m a -> ExceptT f m b Source #
Transform the left and right value
Error Reporting
Exceptions
tryIO :: forall (m :: Type -> Type) a. MonadIO m => IO a -> ExceptT IOException m a Source #
Catch IOExceptions and convert them to the ExceptT monad
handleExceptT :: (Exception e, Functor m, MonadCatch m) => (e -> x) -> m a -> ExceptT x m a Source #
Run a monad action which may throw an exception in the ExceptT monad