arrows-0.4.4.2: Arrow classes and transformers

Copyright (c) Ross Paterson 2003 BSD-style (see the LICENSE file in the distribution) R.Paterson@city.ac.uk experimental non-portable (multi-parameter type classes) Safe Haskell98

Control.Arrow.Transformer.Static

Description

Synopsis

# Documentation

newtype StaticArrow f a b c Source #

An arrow type that augments the underlying arrow with static information.

Constructors

 StaticArrow (f (a b c))

Instances

A special case is monads applied to the whole arrow, in contrast to Kleisli arrows, in which the monad is applied to the output.

type StaticArrowArrow a s = StaticArrow (WrappedArrow a s) Source #

A special case.

wrap :: (Applicative f, Arrow a) => f (a b c) -> StaticArrow f a b c Source #

unwrap :: (Applicative f, Arrow a) => StaticArrow f a b c -> f (a b c) Source #

wrapA :: (Arrow a, Arrow a') => a s (a' b c) -> StaticArrowArrow a s a' b c Source #

unwrapA :: (Arrow a, Arrow a') => StaticArrowArrow a s a' b c -> a s (a' b c) Source #

wrapM :: (Monad m, Arrow a) => m (a b c) -> StaticMonadArrow m a b c Source #

unwrapM :: (Monad m, Arrow a) => StaticMonadArrow m a b c -> m (a b c) Source #