Portability | portable |
---|---|

Stability | experimental |

Maintainer | ross@soi.city.ac.uk |

Safe Haskell | Safe-Inferred |

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

- class (Arrow a, Arrow (f a)) => ArrowTransformer f a where
- lift :: a b c -> f a b c

# Documentation

class (Arrow a, Arrow (f a)) => ArrowTransformer f a whereSource

Construct a new arrow from an existing one.

(Arrow (Automaton a), Arrow a) => ArrowTransformer Automaton a | |

(Arrow (StreamArrow a), Arrow a) => ArrowTransformer StreamArrow a | |

(Arrow a, Arrow (ErrorArrow ex a), ArrowChoice a) => ArrowTransformer (ErrorArrow ex) a | |

(Arrow (StateArrow s a), Arrow a) => ArrowTransformer (StateArrow s) a | |

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

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

(Arrow (ReaderArrow r a), Arrow a) => ArrowTransformer (ReaderArrow r) a |