monadology-0.3: The best ideas in monad-related classes and types.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Control.Monad.Ology.Specific.Result

Documentation

data Result e a Source #

Constructors

SuccessResult a 
FailureResult e 

Instances

Instances details
IsString e => MonadFail (Result e) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.Result

Methods

fail :: String -> Result e a #

MonadFix (Result e) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.Result

Methods

mfix :: (a -> Result e a) -> Result e a #

Foldable (Result e) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.Result

Methods

fold :: Monoid m => Result e m -> m #

foldMap :: Monoid m => (a -> m) -> Result e a -> m #

foldMap' :: Monoid m => (a -> m) -> Result e a -> m #

foldr :: (a -> b -> b) -> b -> Result e a -> b #

foldr' :: (a -> b -> b) -> b -> Result e a -> b #

foldl :: (b -> a -> b) -> b -> Result e a -> b #

foldl' :: (b -> a -> b) -> b -> Result e a -> b #

foldr1 :: (a -> a -> a) -> Result e a -> a #

foldl1 :: (a -> a -> a) -> Result e a -> a #

toList :: Result e a -> [a] #

null :: Result e a -> Bool #

length :: Result e a -> Int #

elem :: Eq a => a -> Result e a -> Bool #

maximum :: Ord a => Result e a -> a #

minimum :: Ord a => Result e a -> a #

sum :: Num a => Result e a -> a #

product :: Num a => Result e a -> a #

Traversable (Result e) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.Result

Methods

traverse :: Applicative f => (a -> f b) -> Result e a -> f (Result e b) #

sequenceA :: Applicative f => Result e (f a) -> f (Result e a) #

mapM :: Monad m => (a -> m b) -> Result e a -> m (Result e b) #

sequence :: Monad m => Result e (m a) -> m (Result e a) #

Monoid e => Alternative (Result e) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.Result

Methods

empty :: Result e a #

(<|>) :: Result e a -> Result e a -> Result e a #

some :: Result e a -> Result e [a] #

many :: Result e a -> Result e [a] #

Applicative (Result e) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.Result

Methods

pure :: a -> Result e a #

(<*>) :: Result e (a -> b) -> Result e a -> Result e b #

liftA2 :: (a -> b -> c) -> Result e a -> Result e b -> Result e c #

(*>) :: Result e a -> Result e b -> Result e b #

(<*) :: Result e a -> Result e b -> Result e a #

Functor (Result e) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.Result

Methods

fmap :: (a -> b) -> Result e a -> Result e b #

(<$) :: a -> Result e b -> Result e a #

Monad (Result e) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.Result

Methods

(>>=) :: Result e a -> (a -> Result e b) -> Result e b #

(>>) :: Result e a -> Result e b -> Result e b #

return :: a -> Result e a #

Monoid e => MonadPlus (Result e) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.Result

Methods

mzero :: Result e a #

mplus :: Result e a -> Result e a -> Result e a #

MonadException (Result e) Source # 
Instance details

Defined in Control.Monad.Ology.General.Exception.Class

Associated Types

type Exc (Result e) Source #

Methods

throwExc :: Exc (Result e) -> Result e a Source #

catchExc :: Result e a -> (Exc (Result e) -> Result e a) -> Result e a Source #

MonadInner (Result e) Source # 
Instance details

Defined in Control.Monad.Ology.General.Inner

Methods

retrieveInner :: Result e a -> Result (Exc (Result e)) a Source #

(Show e, Show a) => Show (Result e a) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.Result

Methods

showsPrec :: Int -> Result e a -> ShowS #

show :: Result e a -> String #

showList :: [Result e a] -> ShowS #

(Eq e, Eq a) => Eq (Result e a) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.Result

Methods

(==) :: Result e a -> Result e a -> Bool #

(/=) :: Result e a -> Result e a -> Bool #

type Exc (Result e) Source # 
Instance details

Defined in Control.Monad.Ology.General.Exception.Class

type Exc (Result e) = e

maybeToM :: MonadFail m => String -> Maybe a -> m a Source #

mapResultFailure :: (e1 -> e2) -> Result e1 a -> Result e2 a Source #