Safe Haskell | Safe-Inferred |
---|
Control.Arrow.Improve
Description
Improved arrows, with a whole host of minor optimisations and instances.
- data ImproveArrow a b c
- lowerImprove :: Arrow a => ImproveArrow a b c -> a b c
- getFunction :: ImproveArrow a b c -> Maybe (b -> c)
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.