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 b c Source #
Constructors
CoStateArrow (a (s -> b) (s -> c)) |
Instances
Category a => Category (CoStateArrow s a :: Type -> Type -> Type) Source # | |
Defined in Control.Arrow.Transformer.CoState Methods id :: forall (a0 :: k). CoStateArrow s a a0 a0 (.) :: forall (b :: k) (c :: k) (a0 :: k). CoStateArrow s a b c -> CoStateArrow s a a0 b -> CoStateArrow s a a0 c | |
Arrow a => Arrow (CoStateArrow s a) Source # | |
Defined in Control.Arrow.Transformer.CoState 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') | |
ArrowLoop a => ArrowLoop (CoStateArrow s a) Source # | |
Defined in Control.Arrow.Transformer.CoState Methods loop :: CoStateArrow s a (b, d) (c, d) -> CoStateArrow s a b c | |
ArrowPlus a => ArrowPlus (CoStateArrow s a) Source # | |
Defined in Control.Arrow.Transformer.CoState Methods (<+>) :: CoStateArrow s a b c -> CoStateArrow s a b c -> CoStateArrow s a b c | |
ArrowZero a => ArrowZero (CoStateArrow s a) Source # | |
Defined in Control.Arrow.Transformer.CoState Methods zeroArrow :: CoStateArrow s a b c | |
ArrowPlus a => Alternative (CoStateArrow s a b) Source # | |
Defined in Control.Arrow.Transformer.CoState Methods empty :: CoStateArrow s a b a0 (<|>) :: CoStateArrow s a b a0 -> CoStateArrow s a b a0 -> CoStateArrow s a b a0 some :: CoStateArrow s a b a0 -> CoStateArrow s a b [a0] many :: CoStateArrow s a b a0 -> CoStateArrow s a b [a0] | |
Arrow a => Applicative (CoStateArrow s a b) Source # | |
Defined in Control.Arrow.Transformer.CoState Methods pure :: a0 -> CoStateArrow s a b a0 (<*>) :: CoStateArrow s a b (a0 -> b0) -> CoStateArrow s a b a0 -> CoStateArrow s a b b0 liftA2 :: (a0 -> b0 -> c) -> CoStateArrow s a b a0 -> CoStateArrow s a b b0 -> CoStateArrow s a b c (*>) :: CoStateArrow s a b a0 -> CoStateArrow s a b b0 -> CoStateArrow s a b b0 (<*) :: CoStateArrow s a b a0 -> CoStateArrow s a b b0 -> CoStateArrow s a b a0 | |
Arrow a => Functor (CoStateArrow s a b) Source # | |
Defined in Control.Arrow.Transformer.CoState Methods fmap :: (a0 -> b0) -> CoStateArrow s a b a0 -> CoStateArrow s a b b0 (<$) :: a0 -> CoStateArrow s a b b0 -> CoStateArrow s a b a0 | |
ArrowPlus a => Monoid (CoStateArrow s a b c) Source # | |
Defined in Control.Arrow.Transformer.CoState 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 | |
ArrowPlus a => Semigroup (CoStateArrow s a b c) Source # | |
Defined in Control.Arrow.Transformer.CoState 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 b0 => b0 -> CoStateArrow s a b c -> CoStateArrow s a b c |