category-extras-0.44.1: Various modules and constructs inspired by category theory.

Portabilitynon-portable (class-associated types)
Stabilityexperimental
MaintainerEdward Kmett <ekmett@gmail.com>

Control.Bifunctor.Associative

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

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

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