| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Control.Monad.Fail.Hoist
Contents
Description
This module provides helpers for converting partiality types into
MonadFail computations.
MonadFail's purpose is to handle pattern-match failures in
do-expressions, and not to be a general-purpose error-handling
mechanism. Despite this, some libraries use it as one, and this
module can help you report errors via MonadFail.
The operator mnemonics are the same as in
Control.Monad.Error.Hoist, but with # in place of ?. You can
imagine a hastily-written F looking kinda-sorta like a #, if it
helps.
Synopsis
- hoistFail :: (PluckError e t m, MonadFail m) => (e -> String) -> t a -> m a
- hoistFail' :: (PluckError String t m, MonadFail m) => t a -> m a
- hoistFailM :: (PluckError e t m, MonadFail m) => (e -> String) -> m (t a) -> m a
- hoistFailM' :: (PluckError String t m, MonadFail m) => m (t a) -> m a
- (<%#>) :: (PluckError e t m, MonadFail m) => t a -> (e -> String) -> m a
- (<%!#>) :: (PluckError e t m, MonadFail m) => m (t a) -> (e -> String) -> m a
- (<#>) :: (PluckError e t m, MonadFail m) => t a -> String -> m a
- (<!#>) :: (PluckError e t m, MonadFail m) => m (t a) -> String -> m a
Documentation
hoistFail' :: (PluckError String t m, MonadFail m) => t a -> m a Source #
Hoist computations whose error type is already String.
hoistFailM :: (PluckError e t m, MonadFail m) => (e -> String) -> m (t a) -> m a Source #
A version of hoistFail that operates on values already in the monad.
hoistFailM::MonadFailm => (() -> String) -> m (Maybea) -> m ahoistFailM::MonadFailm => (a -> String) -> m (Eithera b) -> m bhoistFailM::MonadFailm => (a -> String) ->ExceptTa m b ->ExceptTa m b
hoistFailM' :: (PluckError String t m, MonadFail m) => m (t a) -> m a Source #
A version of hoistFail' that operates on values already in the monad.
hoistFailM'::MonadFailm => m (Maybea) -> m ahoistFailM'::MonadFailm => m (Eithera b) -> m bhoistFailM'::MonadFailm =>ExceptTa m b ->ExceptTa m b