result-0.1.0.0: Encode success or at least one error

Safe HaskellNone
LanguageHaskell2010

Data.Result

Documentation

newtype Result e a Source #

Constructors

Result (Either (NonEmpty e) a) 

Instances

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 #

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 #

raise :: e -> Result e a Source #

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

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