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

Stability | experimental |

Maintainer | conal@conal.net |

Safe Haskell | None |

DeepArrow examples.

The types in the source code are formatted for easier reading.

- deep :: DeepArrow ar => (c `ar` c') -> (a -> (f, b -> (c, g)), e) `ar` (a -> (f, b -> (c', g)), e)
- extF :: DeepArrow ar => (d `ar` (c -> b)) -> (e -> (a, d), f) `ar` (c -> (e -> (a, b), f))
- extFF :: DeepArrow ar => (e -> (a, c -> b), f) `ar` (c -> (e -> (a, b), f))
- extI :: DeepArrow ar => (((a, (b, e)), c) -> d) `ar` (b -> ((a, e), c) -> d)
- extFI :: DeepArrow ar => (e -> (g, ((a, (b, e)), c) -> d), f) `ar` (b -> (e -> (g, ((a, e), c) -> d), f))

# Deep application

deep :: DeepArrow ar => (c `ar` c') -> (a -> (f, b -> (c, g)), e) `ar` (a -> (f, b -> (c', g)), e)Source