Safe Haskell | Safe-Inferred |
---|
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.
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.