Portability | GADTs, type operators |
---|---|

Stability | provisional |

Maintainer | Edward Kmett <ekmett@gmail.com> |

- data a := b where
- trans :: (a := b) -> (b := c) -> a := c
- symm :: (a := b) -> b := a
- coerce :: (a := b) -> a -> b
- lift :: (a := b) -> f a := f b
- lift2 :: (a := b) -> f a c := f b c
- lift2' :: (a := b) -> (c := d) -> f a c := f b d
- lift3 :: (a := b) -> f a c d := f b c d
- lift3' :: (a := b) -> (c := d) -> (e := f) -> g a c e := g b d f
- lower :: (f a := f b) -> a := b
- lower2 :: (f a c := f b c) -> a := b
- lower3 :: (f a c d := f b c d) -> a := b