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 |
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 Source #
Attaches an identity.
Since: 5.3.6
Id :: Categorical s a a | |
Embed :: s a b -> Categorical s a b |
Instances
Semigroupoid s => Category (Categorical s :: Type -> Type -> Type) Source # | Since: 5.3.6 |
Defined in Data.Semigroupoid.Categorical id :: forall (a :: k). Categorical s a a Source # (.) :: forall (b :: k) (c :: k) (a :: k). 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 |
Defined in Data.Semigroupoid.Categorical o :: forall (j :: k) (k1 :: k) (i :: k). 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