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

Stability | experimental |

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

Safe Haskell | None |

NB: this contradicts another common meaning for an `Associative`

`Category`

, which is one
where the pentagonal condition does not hold, but for which there is an identity.

- class Bifunctor p k k k => Associative k p where
- associate :: k (p (p a b) c) (p a (p b c))
- disassociate :: k (p a (p b c)) (p (p a b) c)

# Documentation

class Bifunctor p k k k => Associative k p whereSource

A category with an associative bifunctor satisfying Mac Lane's pentagonal coherence identity law:

bimap id associate . associate . bimap associate id = associate . associate bimap disassociate id . disassociate . bimap id disassociate = disassociate . disassociate

associate :: k (p (p a b) c) (p a (p b c))Source

disassociate :: k (p a (p b c)) (p (p a b) c)Source

Associative (->) Either | |

Associative (->) (,) |