semigroupoids-6: 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
LanguageHaskell2010

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

Instances details
Groupoid (Coercion :: k -> k -> Type) Source # 
Instance details

Defined in Data.Groupoid

Methods

inv :: forall (a :: k0) (b :: k0). Coercion a b -> Coercion b a Source #

Groupoid ((:~:) :: k -> k -> Type) Source # 
Instance details

Defined in Data.Groupoid

Methods

inv :: forall (a :: k0) (b :: k0). (a :~: b) -> b :~: a Source #

Groupoid ((:~~:) :: k -> k -> Type) Source # 
Instance details

Defined in Data.Groupoid

Methods

inv :: forall (a :: k0) (b :: k0). (a :~~: b) -> b :~~: a Source #

Semigroupoid k2 => Groupoid (Iso k2 :: k1 -> k1 -> Type) Source # 
Instance details

Defined in Data.Isomorphism

Methods

inv :: forall (a :: k) (b :: k). Iso k2 a b -> Iso k2 b a Source #

Groupoid k2 => Groupoid (Dual k2 :: k1 -> k1 -> Type) Source # 
Instance details

Defined in Data.Groupoid

Methods

inv :: forall (a :: k) (b :: k). Dual k2 a b -> Dual k2 b a Source #