arrows-0.4.4.1: Arrow classes and transformers

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

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 # (*>) :: 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 => 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 #