schemas-0.4.0.2: schema guided serialization

Safe HaskellSafe
LanguageHaskell2010

Schemas.Attempt

Synopsis

Documentation

data Attempt e a Source #

An applicative error type

Constructors

Success a 
Failure e 
Instances
Monoid e => MonadError e (Attempt e) Source # 
Instance details

Defined in Schemas.Attempt

Methods

throwError :: e -> Attempt e a #

catchError :: Attempt e a -> (e -> Attempt e a) -> Attempt e a #

Monoid e => Monad (Attempt e) Source # 
Instance details

Defined in Schemas.Attempt

Methods

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

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

return :: a -> Attempt e a #

fail :: String -> Attempt e a #

Functor (Attempt e) Source # 
Instance details

Defined in Schemas.Attempt

Methods

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

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

Monoid e => Applicative (Attempt e) Source # 
Instance details

Defined in Schemas.Attempt

Methods

pure :: a -> Attempt e a #

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

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

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

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

Foldable (Attempt e) Source # 
Instance details

Defined in Schemas.Attempt

Methods

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

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

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

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

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

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

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

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

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

null :: Attempt e a -> Bool #

length :: Attempt e a -> Int #

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

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

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

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

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

Traversable (Attempt e) Source # 
Instance details

Defined in Schemas.Attempt

Methods

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

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

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

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

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

Defined in Schemas.Attempt

Methods

empty :: Attempt e a #

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

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

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

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

Defined in Schemas.Attempt

Methods

mzero :: Attempt e a #

mplus :: Attempt e a -> Attempt e a -> Attempt e a #

Eq e => Eq1 (Attempt e) Source # 
Instance details

Defined in Schemas.Attempt

Methods

liftEq :: (a -> b -> Bool) -> Attempt e a -> Attempt e b -> Bool #

Show e => Show1 (Attempt e) Source # 
Instance details

Defined in Schemas.Attempt

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Attempt e a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Attempt e a] -> ShowS #

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

Defined in Schemas.Attempt

Methods

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

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

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

Defined in Schemas.Attempt

Methods

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

show :: Attempt e a -> String #

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

bindAttempt :: Attempt e a -> (a -> Attempt e b) -> Attempt e b Source #

execAttempt :: MonadError e f => Attempt e a -> f a Source #

partitionAttempts :: [Attempt e a] -> ([e], [a]) Source #

Partitions a result successes and failures