arrows-0.4.4.2: Arrow classes and transformers

Copyright | (c) Ross Paterson 2003
License | BSD-style (see the LICENSE file in the distribution)
Maintainer | R.Paterson@city.ac.uk
Stability | experimental
Portability | non-portable (multi-parameter type classes)
Safe Haskell | Safe-Inferred
Language | Haskell98

Control.Arrow.Transformer.CoState

Description

Transformation of state readers.

TODO: define operations for this arrow.

# Documentation

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

Constructors

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

#### Instances

Instances details

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 #

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 #
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 #
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 => 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 #
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 #

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 #
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 #
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 #