Portability | non-portable (multi-parameter type classes) |
---|---|

Stability | experimental |

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

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 a => ArrowTransformer Automaton a | |

Arrow a => ArrowTransformer StreamArrow a | |

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

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

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

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

Arrow a => ArrowTransformer (ReaderArrow r) a |