transformers-continue-0.0.1: Control flow data type and monad transformer.

Safe HaskellSafe
LanguageHaskell98

Data.Continue

Contents

Description

Continue type.

Synopsis

Continue

data Continue x a Source #

The Continue type represents values with three possibilities: a value of type Continue a b is one of Stop , Failure x or Continue a.

Constructors

Stop 
Failure x 
Continue a 

Instances

Bifunctor Continue Source # 

Methods

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

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

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

Monad (Continue x) Source # 

Methods

(>>=) :: Continue x a -> (a -> Continue x b) -> Continue x b #

(>>) :: Continue x a -> Continue x b -> Continue x b #

return :: a -> Continue x a #

fail :: String -> Continue x a #

Functor (Continue x) Source # 

Methods

fmap :: (a -> b) -> Continue x a -> Continue x b #

(<$) :: a -> Continue x b -> Continue x a #

Applicative (Continue x) Source # 

Methods

pure :: a -> Continue x a #

(<*>) :: Continue x (a -> b) -> Continue x a -> Continue x b #

(*>) :: Continue x a -> Continue x b -> Continue x b #

(<*) :: Continue x a -> Continue x b -> Continue x a #

Foldable (Continue x) Source # 

Methods

fold :: Monoid m => Continue x m -> m #

foldMap :: Monoid m => (a -> m) -> Continue x a -> m #

foldr :: (a -> b -> b) -> b -> Continue x a -> b #

foldr' :: (a -> b -> b) -> b -> Continue x a -> b #

foldl :: (b -> a -> b) -> b -> Continue x a -> b #

foldl' :: (b -> a -> b) -> b -> Continue x a -> b #

foldr1 :: (a -> a -> a) -> Continue x a -> a #

foldl1 :: (a -> a -> a) -> Continue x a -> a #

toList :: Continue x a -> [a] #

null :: Continue x a -> Bool #

length :: Continue x a -> Int #

elem :: Eq a => a -> Continue x a -> Bool #

maximum :: Ord a => Continue x a -> a #

minimum :: Ord a => Continue x a -> a #

sum :: Num a => Continue x a -> a #

product :: Num a => Continue x a -> a #

Traversable (Continue x) Source # 

Methods

traverse :: Applicative f => (a -> f b) -> Continue x a -> f (Continue x b) #

sequenceA :: Applicative f => Continue x (f a) -> f (Continue x a) #

mapM :: Monad m => (a -> m b) -> Continue x a -> m (Continue x b) #

sequence :: Monad m => Continue x (m a) -> m (Continue x a) #

(Eq a, Eq x) => Eq (Continue x a) Source # 

Methods

(==) :: Continue x a -> Continue x a -> Bool #

(/=) :: Continue x a -> Continue x a -> Bool #

(Show a, Show x) => Show (Continue x a) Source # 

Methods

showsPrec :: Int -> Continue x a -> ShowS #

show :: Continue x a -> String #

showList :: [Continue x a] -> ShowS #