result-0.2.6.0: Encode success or at least one error

Safe HaskellNone
LanguageHaskell2010

Data.Result

Documentation

data Result e a Source #

Instances

Bifunctor Result Source # 

Methods

bimap :: (a -> b) -> (c -> d) -> Result a c -> Result b d #

first :: (a -> b) -> Result a c -> Result b c #

second :: (b -> c) -> Result a b -> Result a c #

Bitraversable Result Source # 

Methods

bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> Result a b -> f (Result c d) #

Bifoldable Result Source # 

Methods

bifold :: Monoid m => Result m m -> m #

bifoldMap :: Monoid m => (a -> m) -> (b -> m) -> Result a b -> m #

bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c -> Result a b -> c #

bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c -> Result a b -> c #

Monad (Result e) Source # 

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 #

fail :: String -> Result e a #

Functor (Result e) Source # 

Methods

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

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

Applicative (Result e) Source # 

Methods

pure :: a -> Result e a #

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

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

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

Foldable (Result e) Source # 

Methods

fold :: Monoid m => Result e m -> 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 # 

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) #

Zip (Result e) Source # 

Methods

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

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

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

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

Methods

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

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

(Ord e, Ord a) => Ord (Result e a) Source # 

Methods

compare :: Result e a -> Result e a -> Ordering #

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

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

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

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

max :: Result e a -> Result e a -> Result e a #

min :: Result e a -> Result e a -> Result e a #

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

Methods

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

show :: Result e a -> String #

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

get :: Result e a -> Maybe a Source #

errors :: Result e a -> [e] Source #

raise :: e -> Result e a Source #

raiseAll :: [e] -> Result e () Source #

accumulate :: Traversable t => t (Result e a) -> Result e (t a) Source #

accumulate_ :: Foldable t => t (Result e a) -> Result e () Source #