antelude-0.1.0: Yet another alternative Prelude for Haskell.
Maintainerdneavesdev@pm.me
Safe HaskellSafe
LanguageGHC2021

Antelude.Result

Description

 
Synopsis

Documentation

data Result err ok Source #

The 'Result err ok' type, with variants `Err err` and 'Ok ok'. Similar to the Either type, but with better naming, and disambiguates the purposes.

Constructors

Err err 
Ok ok 

Instances

Instances details
Applicative (Result err) Source # 
Instance details

Defined in Antelude.Internal.TypesClasses

Methods

pure :: a -> Result err a #

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

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

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

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

Functor (Result err) Source # 
Instance details

Defined in Antelude.Internal.TypesClasses

Methods

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

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

Monad (Result err) Source # 
Instance details

Defined in Antelude.Internal.TypesClasses

Methods

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

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

return :: a -> Result err a #

(Read err, Read ok) => Read (Result err ok) Source # 
Instance details

Defined in Antelude.Internal.TypesClasses

Methods

readsPrec :: Int -> ReadS (Result err ok) #

readList :: ReadS [Result err ok] #

readPrec :: ReadPrec (Result err ok) #

readListPrec :: ReadPrec [Result err ok] #

(Show err, Show ok) => Show (Result err ok) Source # 
Instance details

Defined in Antelude.Internal.TypesClasses

Methods

showsPrec :: Int -> Result err ok -> ShowS #

show :: Result err ok -> String #

showList :: [Result err ok] -> ShowS #

(Eq err, Eq ok) => Eq (Result err ok) Source # 
Instance details

Defined in Antelude.Internal.TypesClasses

Methods

(==) :: Result err ok -> Result err ok -> Bool #

(/=) :: Result err ok -> Result err ok -> Bool #

(Ord err, Ord ok) => Ord (Result err ok) Source # 
Instance details

Defined in Antelude.Internal.TypesClasses

Methods

compare :: Result err ok -> Result err ok -> Ordering #

(<) :: Result err ok -> Result err ok -> Bool #

(<=) :: Result err ok -> Result err ok -> Bool #

(>) :: Result err ok -> Result err ok -> Bool #

(>=) :: Result err ok -> Result err ok -> Bool #

max :: Result err ok -> Result err ok -> Result err ok #

min :: Result err ok -> Result err ok -> Result err ok #

errWithDefault :: ok -> Result err ok -> ok Source #

Get the value of an 'Result a b', returns the Ok value, or a default if Err.

filterErrs :: List (Result err ok) -> List err Source #

Take a List of 'Result a b' and return a List containing all of the values from the Err cases.

filterOks :: List (Result err ok) -> List ok Source #

Take a List of 'Result a b' and return a List containing all of the values from the Ok cases.

fromEither :: Either err ok -> Result err ok Source #

Convert a 'Either a b' to an 'Result a b'.

fromMaybe :: Maybe ok -> Result () ok Source #

Convert a 'Maybe a' to an 'Result () a'.

isErr :: Result err ok -> Bool Source #

Test if the 'Result a b' is Err.

isOk :: Result err ok -> Bool Source #

Test if the 'Result a b' is Ok.

mapErr :: (err -> newErr) -> Result err ok -> Result newErr ok Source #

Map the Err case of a 'Result a b' given a function. Does not change an Ok case.

mapOk :: (ok -> newOk) -> Result err ok -> Result err newOk Source #

Map the Ok case of a 'Result a b' given a function. Does not change an Err case.

okWithDefault :: err -> Result err ok -> err Source #

Get the value of an 'Result a b', returns the Err value, or a default if Ok.

partition :: List (Result err ok) -> (List ok, List err) Source #

Take a List of 'Result err ok' and create a Tuple with 'List err' and 'List ok'.

result :: (err -> a) -> (ok -> a) -> Result err ok -> a Source #

Map both cases of a 'Result a b' given two functions: one for the Err case, and one for the Ok case.