Copyright | 2008 Edward Kmett |
---|---|
License | BSD |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Stability | experimental |
Portability | portable |
Safe Haskell | Trustworthy |
Language | Haskell2010 |
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 where Source
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 (->) (,) |