Data.Semigroupoid.Categorical

semigroupoids-5.3.7: 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 a b where
  - Id :: Categorical s a a
  - Embed :: s a b -> Categorical s a b
- runCategorical :: (a ~ b => r) -> (s a b -> r) -> Categorical s a b -> r

# Documentation

data Categorical s a b where #

Attaches an identity.

Since: 5.3.6

Constructors

Id :: Categorical s a a |
Embed :: s a b -> Categorical s a b |

#### Instances

Instances details

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

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

Since: 5.3.6