arrow-improve-0.1.0.0: Improved arrows.

Safe HaskellSafe-Inferred

Control.Arrow.Improve

Description

Improved arrows, with a whole host of minor optimisations and instances.

Synopsis

Documentation

data ImproveArrow a b c Source

Basic improved arrow type.

Instances

lowerImprove :: Arrow a => ImproveArrow a b c -> a b cSource

Lower an improved arrow to the original arrow type.

lowerImprove . lift = id
lift . lowerImprove = id

getFunction :: ImproveArrow a b c -> Maybe (b -> c)Source

Get a function representing the arrow, if it is possible to do so. Guarantees are only made when arrows are constructed only from the combinators of the Category, Arrow, ArrowChoice and ArrowLoop classes.