{-# LANGUAGE NoImplicitPrelude, UnicodeSyntax #-}
module Control.Category.Unicode ( (∘), (⋙), (⋘) ) where
import Control.Category ( Category, (.), (>>>), (<<<) )
infixr 9 ∘
infixr 1 ⋙, ⋘
(∘) ∷ Category c ⇒ c β γ → c α β → c α γ
∘ :: forall (c :: * -> * -> *) β γ α.
Category c =>
c β γ -> c α β -> c α γ
(∘) = c β γ -> c α β -> c α γ
forall b c a. c b c -> c a b -> c a c
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
(.)
{-# INLINE (∘) #-}
(⋙) ∷ Category c ⇒ c α β → c β γ → c α γ
⋙ :: forall (c :: * -> * -> *) α β γ.
Category c =>
c α β -> c β γ -> c α γ
(⋙) = c α β -> c β γ -> c α γ
forall {k} (cat :: k -> k -> *) (a :: k) (b :: k) (c :: k).
Category cat =>
cat a b -> cat b c -> cat a c
(>>>)
{-# INLINE (⋙) #-}
(⋘) ∷ Category c ⇒ c β γ → c α β → c α γ
⋘ :: forall (c :: * -> * -> *) β γ α.
Category c =>
c β γ -> c α β -> c α γ
(⋘) = c β γ -> c α β -> c α γ
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
(<<<)
{-# INLINE (⋘) #-}