arrows-0.4.4.2: Arrow classes and transformers

Copyright(c) Ross Paterson 2003
LicenseBSD-style (see the LICENSE file in the distribution)
MaintainerR.Paterson@city.ac.uk
Stabilityexperimental
Portabilitynon-portable (multi-parameter type classes)
Safe HaskellSafe
LanguageHaskell98

Control.Arrow.Transformer.CoState

Description

Transformation of state readers.

TODO: define operations for this arrow.

Documentation

newtype CoStateArrow s a b c Source #

Constructors

CoStateArrow (a (s -> b) (s -> c)) 

Instances

Category * a => Category * (CoStateArrow s a) Source # 

Methods

id :: cat a a #

(.) :: cat b c -> cat a b -> cat a c #

Arrow a => Arrow (CoStateArrow s a) Source # 

Methods

arr :: (b -> c) -> CoStateArrow s a b c #

first :: CoStateArrow s a b c -> CoStateArrow s a (b, d) (c, d) #

second :: CoStateArrow s a b c -> CoStateArrow s a (d, b) (d, c) #

(***) :: CoStateArrow s a b c -> CoStateArrow s a b' c' -> CoStateArrow s a (b, b') (c, c') #

(&&&) :: CoStateArrow s a b c -> CoStateArrow s a b c' -> CoStateArrow s a b (c, c') #

ArrowZero a => ArrowZero (CoStateArrow s a) Source # 

Methods

zeroArrow :: CoStateArrow s a b c #

ArrowPlus a => ArrowPlus (CoStateArrow s a) Source # 

Methods

(<+>) :: CoStateArrow s a b c -> CoStateArrow s a b c -> CoStateArrow s a b c #

ArrowLoop a => ArrowLoop (CoStateArrow s a) Source # 

Methods

loop :: CoStateArrow s a (b, d) (c, d) -> CoStateArrow s a b c #

Arrow a => Functor (CoStateArrow s a b) Source # 

Methods

fmap :: (a -> b) -> CoStateArrow s a b a -> CoStateArrow s a b b #

(<$) :: a -> CoStateArrow s a b b -> CoStateArrow s a b a #

Arrow a => Applicative (CoStateArrow s a b) Source # 

Methods

pure :: a -> CoStateArrow s a b a #

(<*>) :: CoStateArrow s a b (a -> b) -> CoStateArrow s a b a -> CoStateArrow s a b b #

liftA2 :: (a -> b -> c) -> CoStateArrow s a b a -> CoStateArrow s a b b -> CoStateArrow s a b c #

(*>) :: CoStateArrow s a b a -> CoStateArrow s a b b -> CoStateArrow s a b b #

(<*) :: CoStateArrow s a b a -> CoStateArrow s a b b -> CoStateArrow s a b a #

ArrowPlus a => Alternative (CoStateArrow s a b) Source # 

Methods

empty :: CoStateArrow s a b a #

(<|>) :: CoStateArrow s a b a -> CoStateArrow s a b a -> CoStateArrow s a b a #

some :: CoStateArrow s a b a -> CoStateArrow s a b [a] #

many :: CoStateArrow s a b a -> CoStateArrow s a b [a] #

ArrowPlus a => Semigroup (CoStateArrow s a b c) Source # 

Methods

(<>) :: CoStateArrow s a b c -> CoStateArrow s a b c -> CoStateArrow s a b c #

sconcat :: NonEmpty (CoStateArrow s a b c) -> CoStateArrow s a b c #

stimes :: Integral b => b -> CoStateArrow s a b c -> CoStateArrow s a b c #

ArrowPlus a => Monoid (CoStateArrow s a b c) Source # 

Methods

mempty :: CoStateArrow s a b c #

mappend :: CoStateArrow s a b c -> CoStateArrow s a b c -> CoStateArrow s a b c #

mconcat :: [CoStateArrow s a b c] -> CoStateArrow s a b c #