category-extras-0.44.1: Various modules and constructs inspired by category theory.Source codeContentsIndex
Control.Bifunctor.Associative
Portabilitynon-portable (class-associated types)
Stabilityexperimental
MaintainerEdward Kmett <ekmett@gmail.com>
Description
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.
Synopsis
class Bifunctor p => Associative p where
associate :: p (p a b) c -> p a (p b c)
class Bifunctor s => Coassociative s where
coassociate :: s a (s b c) -> s (s a b) c
Documentation
class Bifunctor p => Associative 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
Methods
associate :: p (p a b) c -> p a (p b c)Source
show/hide Instances
class Bifunctor s => Coassociative s whereSource

A category with a coassociative bifunctor satisyfing the dual of Mac Lane's pentagonal coherence identity law:

 bimap coassociate id . coassociate . bimap id coassociate = coassociate . coassociate
Methods
coassociate :: s a (s b c) -> s (s a b) cSource
show/hide Instances
Produced by Haddock version 2.1.0