shrun
Safe HaskellNone
LanguageGHC2021

Shrun.Data.Result

Synopsis

Documentation

data Result e a Source #

Either with custom MonadFail and fail-fast Semigroup instances.

Constructors

Err e 
Ok a 

Instances

Instances details
Applicative (Result e) Source # 
Instance details

Defined in Shrun.Data.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 Shrun.Data.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 Shrun.Data.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 #

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

Defined in Shrun.Data.Result

Methods

fail :: String -> Result e a #

Foldable (Result e) Source # 
Instance details

Defined in Shrun.Data.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 Shrun.Data.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 a => Monoid (Result e a) Source # 
Instance details

Defined in Shrun.Data.Result

Methods

mempty :: Result e a #

mappend :: Result e a -> Result e a -> Result e a #

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

Semigroup a => Semigroup (Result e a) Source # 
Instance details

Defined in Shrun.Data.Result

Methods

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

sconcat :: NonEmpty (Result e a) -> Result e a #

stimes :: Integral b => b -> Result e a -> Result e a #

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

Defined in Shrun.Data.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 Shrun.Data.Result

Methods

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

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