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 :: Type -> Type -> Type) Source # 
Instance details

Defined in Control.Arrow.Transformer.CoState

Methods

id :: CoStateArrow s a a0 a0 Source #

(.) :: CoStateArrow s a b c -> CoStateArrow s a a0 b -> CoStateArrow s a a0 c Source #

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

Defined in Control.Arrow.Transformer.CoState

Methods

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

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

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

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

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

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

Defined in Control.Arrow.Transformer.CoState

Methods

zeroArrow :: CoStateArrow s a b c Source #

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

Defined in Control.Arrow.Transformer.CoState

Methods

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

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

Defined in Control.Arrow.Transformer.CoState

Methods

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

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

Defined in Control.Arrow.Transformer.CoState

Methods

fmap :: (a0 -> b0) -> CoStateArrow s a b a0 -> CoStateArrow s a b b0 Source #

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

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

Defined in Control.Arrow.Transformer.CoState

Methods

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

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

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

(*>) :: CoStateArrow s a b a0 -> CoStateArrow s a b b0 -> CoStateArrow s a b b0 Source #

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

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

Defined in Control.Arrow.Transformer.CoState

Methods

empty :: CoStateArrow s a b a0 Source #

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

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

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

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

Defined in Control.Arrow.Transformer.CoState

Methods

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

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

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

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

Defined in Control.Arrow.Transformer.CoState

Methods

mempty :: CoStateArrow s a b c Source #

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

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