semigroupoids-4.5: Semigroupoids: Category sans id

Copyright(C) 2011-2015 Edward Kmett
LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityprovisional
Portabilitypolykinds
Safe HaskellTrustworthy
LanguageHaskell98

Data.Groupoid

Description

 

Synopsis

Documentation

class Semigroupoid k => Groupoid k where Source

semigroupoid with inverses. This technically should be a category with inverses, except we need to use Ob to define the valid objects for the category

Methods

inv :: k a b -> k b a Source

Instances

Semigroupoid k k1 => Groupoid k (Iso k k) 
Groupoid k k1 => Groupoid k (Dual k k k) 
(Groupoid k j, Groupoid k1 k2) => Groupoid (Either k k) (Coproduct k k k k j k) 
(Groupoid k j, Groupoid k1 k2) => Groupoid ((,) k k) (Product k k k k j k)