semigroupoids-6.0.1: Semigroupoids: Category sans id

Copyright | (C) 2021 Koz Ross
License | BSD-style (see the file LICENSE)
Maintainer | Koz Ross <koz.ross@retro-freedom.nz>
Stability | Experimental
Portability | GHC only
Safe Haskell | Trustworthy
Language | Haskell2010

Data.Semigroupoid.Categorical

Description

Provides a way to attach an identity to any semigroupoid.

Synopsis

- data Categorical (s :: Type -> Type -> Type) a b where
  - Id :: forall (s :: Type -> Type -> Type) a. Categorical s a a
  - Embed :: forall (s :: Type -> Type -> Type) a b. s a b -> Categorical s a b
- runCategorical :: (a ~ b => r) -> (s a b -> r) -> Categorical s a b -> r

# Documentation

data Categorical (s :: Type -> Type -> Type) a b where Source #

Attaches an identity.

Since: 5.3.6

Constructors

Id :: forall (s :: Type -> Type -> Type) a. Categorical s a a |
Embed :: forall (s :: Type -> Type -> Type) a b. s a b -> Categorical s a b |

#### Instances

Instances details

Semigroupoid s => Category (Categorical s :: Type -> Type -> Type) Source # | Since: 5.3.6
Instance details Defined in Data.Semigroupoid.Categorical Methods id :: Categorical s a a Source # (.) :: Categorical s b c -> Categorical s a b -> Categorical s a c Source #
Semigroupoid s => Semigroupoid (Categorical s :: Type -> Type -> Type) Source # | Since: 5.3.6
Instance details Defined in Data.Semigroupoid.Categorical Methods o :: Categorical s j k1 -> Categorical s i j -> Categorical s i k1 Source #

runCategorical :: (a ~ b => r) -> (s a b -> r) -> Categorical s a b -> r Source #

Since: 5.3.6