fallible-0.1.0

Safe HaskellSafe
LanguageHaskell2010

Data.Fallible

Synopsis

Documentation

class Applicative f => Fallible f where Source #

Types that may contain failures.

Associated Types

type Failure f :: * Source #

Methods

tryFallible :: f a -> Either (Failure f) a Source #

Get a success or a failure.

tryFallible (pure a) ≡ Right a
Instances
Fallible Maybe Source # 
Instance details

Defined in Data.Fallible

Associated Types

type Failure Maybe :: Type Source #

Fallible Identity Source # 
Instance details

Defined in Data.Fallible

Associated Types

type Failure Identity :: Type Source #

Fallible (Either e) Source # 
Instance details

Defined in Data.Fallible

Associated Types

type Failure (Either e) :: Type Source #

Methods

tryFallible :: Either e a -> Either (Failure (Either e)) a Source #

Fallible (Proxy :: Type -> Type) Source # 
Instance details

Defined in Data.Fallible

Associated Types

type Failure Proxy :: Type Source #

Monoid e => Fallible (Const e :: Type -> Type) Source # 
Instance details

Defined in Data.Fallible

Associated Types

type Failure (Const e) :: Type Source #

Methods

tryFallible :: Const e a -> Either (Failure (Const e)) a Source #

(??=) :: (Applicative f, Fallible t) => t a -> (Failure t -> f a) -> f a infixl 1 Source #

(???) :: (Applicative f, Fallible t) => t a -> f a -> f a infixl 1 Source #

(!?=) :: (Monad m, Fallible t) => m (t a) -> (Failure t -> m a) -> m a infixl 1 Source #

(!??) :: (Monad m, Fallible t) => m (t a) -> m a -> m a infixl 1 Source #

catchFailure :: (Monad m, Fallible t) => m (t a) -> (Failure t -> m a) -> m a Source #

catchFailure_ :: (Monad m, Fallible t) => m (t a) -> m a -> m a Source #

exit :: m r -> ContT r m a Source #

exitA :: Applicative m => r -> ContT r m a Source #

lift :: (MonadTrans t, Monad m) => m a -> t m a #

Lift a computation from the argument monad to the constructed monad.