arrows-0.4.4.2: Arrow classes and transformers

Copyright(c) Ross Paterson 2003
LicenseBSD-style (see the LICENSE file in the distribution)
Maintainerross@soi.city.ac.uk
Stabilityexperimental
Portabilityportable
Safe HaskellSafe
LanguageHaskell98

Control.Arrow.Transformer

Description

Arrow transformers, for making new arrow types out of old ones.

Synopsis

Documentation

class (Arrow a, Arrow (f a)) => ArrowTransformer f a where #

Construct a new arrow from an existing one.

Minimal complete definition

lift

Methods

lift :: a b c -> f a b c #

A transformation of arrows, preserving arr, >>> and first.

Typical usage in arrow notation:

   proc p -> ...
       (|lift cmd|)

Instances

Arrow a => ArrowTransformer Automaton a # 

Methods

lift :: a b c -> Automaton a b c #

Arrow a => ArrowTransformer StreamArrow a # 

Methods

lift :: a b c -> StreamArrow a b c #

ArrowChoice a => ArrowTransformer (ErrorArrow ex) a # 

Methods

lift :: a b c -> ErrorArrow ex a b c #

Arrow a => ArrowTransformer (ReaderArrow r) a # 

Methods

lift :: a b c -> ReaderArrow r a b c #

Arrow a => ArrowTransformer (StateArrow s) a # 

Methods

lift :: a b c -> StateArrow s a b c #

(Arrow a, Applicative f) => ArrowTransformer (StaticArrow f) a # 

Methods

lift :: a b c -> StaticArrow f a b c #

(Arrow a, Monoid w) => ArrowTransformer (WriterArrow w) a # 

Methods

lift :: a b c -> WriterArrow w a b c #