categories-1.0.7: Categories

Copyright2008 Edward Kmett
LicenseBSD
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityexperimental
Portabilityportable
Safe HaskellTrustworthy
LanguageHaskell2010

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 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

Methods

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 #

Instances
Associative ((->) :: Type -> Type -> Type) Either Source # 
Instance details

Defined in Control.Category.Associative

Methods

associate :: Either (Either a b) c -> Either a (Either b c) Source #

disassociate :: Either a (Either b c) -> Either (Either a b) c Source #

Associative ((->) :: Type -> Type -> Type) (,) Source # 
Instance details

Defined in Control.Category.Associative

Methods

associate :: ((a, b), c) -> (a, (b, c)) Source #

disassociate :: (a, (b, c)) -> ((a, b), c) Source #