category-extras-0.52.1: Various modules and constructs inspired by category theory

Portabilityportable
Stabilityexperimental
MaintainerEdward Kmett <ekmett@gmail.com>

Control.Category.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 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

Methods

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

class Bifunctor s k k k => Coassociative k 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 :: k (s a (s b c)) (s (s a b) c)Source