| Copyright | (C) 2011-2015 Edward Kmett |
|---|---|
| License | BSD-style (see the file LICENSE) |
| Maintainer | Edward Kmett <ekmett@gmail.com> |
| Stability | provisional |
| Portability | polykinds |
| Safe Haskell | Trustworthy |
| Language | Haskell2010 |
Data.Groupoid
Description
Synopsis
- class Semigroupoid k1 => Groupoid (k1 :: k -> k -> Type) where
- inv :: forall (a :: k) (b :: k). k1 a b -> k1 b a
Documentation
class Semigroupoid k1 => Groupoid (k1 :: k -> k -> Type) where #
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
Instances
| Groupoid (Coercion :: k -> k -> Type) # | |
Defined in Data.Groupoid | |
| Groupoid ((:~:) :: k -> k -> Type) # | |
Defined in Data.Groupoid | |
| Groupoid ((:~~:) :: k -> k -> Type) # | |
Defined in Data.Groupoid | |
| Semigroupoid k2 => Groupoid (Iso k2 :: k1 -> k1 -> Type) # | |
Defined in Data.Isomorphism | |
| Groupoid k2 => Groupoid (Dual k2 :: k1 -> k1 -> Type) # | |
Defined in Data.Groupoid | |