Proarrow.Profunctor.Identity
newtype Id (a :: k) (b :: k) Source Comments #
Constructors
Fields
Defined in Proarrow.Profunctor.Identity
Methods
act :: forall (a :: m) (b :: m) (x :: k) (y :: k). (a ~> b) -> Id x y -> Id (Act a x) (Act b y) Source Comments #
par0 :: Id (Unit :: k) (Unit :: k) Source Comments #
par :: forall (x1 :: k) (x2 :: k) (y1 :: k) (y2 :: k). Id x1 x2 -> Id y1 y2 -> Id (x1 ** y1) (x2 ** y2) Source Comments #
dimap :: forall (c :: k) (a :: k) (b :: k) (d :: k). (c ~> a) -> (b ~> d) -> Id a b -> Id c d Source Comments #
(\\) :: forall (a :: k) (b :: k) r. ((Ob a, Ob b) => r) -> Id a b -> r Source Comments #
coindex :: forall (a :: k) (b :: k). Id a b -> ((Id :: k -> k -> Type) %% a) ~> b Source Comments #
cotabulate :: forall (a :: k) (b :: k). Ob a => (((Id :: k -> k -> Type) %% a) ~> b) -> Id a b Source Comments #
corepMap :: forall (a :: k) (b :: k). (a ~> b) -> ((Id :: k -> k -> Type) %% a) ~> ((Id :: k -> k -> Type) %% b) Source Comments #
index :: forall (a :: k) (b :: k). Id a b -> a ~> ((Id :: k -> k -> Type) % b) Source Comments #
tabulate :: forall (b :: k) (a :: k). Ob b => (a ~> ((Id :: k -> k -> Type) % b)) -> Id a b Source Comments #
repMap :: forall (a :: k) (b :: k). (a ~> b) -> ((Id :: k -> k -> Type) % a) ~> ((Id :: k -> k -> Type) % b) Source Comments #
Defined in Proarrow.Adjunction
unit :: forall (a :: k). Ob a => ((Id :: k -> k -> Type) :.: (Id :: k -> k -> Type)) a a Source Comments #
counit :: ((Id :: k -> k -> Type) :.: (Id :: k -> k -> Type)) :~> ((~>) :: CAT k) Source Comments #
dagger :: forall (a :: k) (b :: k). Id a b -> Id b a Source Comments #
Defined in Proarrow.Category.Monoidal.Distributive
cotraverse :: forall (p :: k +-> k). (DistributiveProfunctor p, Strong k p, SelfAction k) => (p :.: (Id :: k -> k -> Type)) :~> ((Id :: k -> k -> Type) :.: p) Source Comments #
traverse :: forall (p :: k +-> k). (DistributiveProfunctor p, Strong k p, SelfAction k) => ((Id :: k -> k -> Type) :.: p) :~> (p :.: (Id :: k -> k -> Type)) Source Comments #
id :: forall (a :: k). Ob a => Id a a Source Comments #
(.) :: forall (b :: k) (c :: k) (a :: k). Id b c -> Id a b -> Id a c Source Comments #
Defined in Proarrow.Promonad
extract :: (Id :: k -> k -> Type) :~> ((~>) :: CAT k) Source Comments #
duplicate :: (Id :: k -> k -> Type) :~> ((Id :: k -> k -> Type) :.: (Id :: k -> k -> Type)) Source Comments #
Defined in Proarrow.Object.BinaryCoproduct
act :: forall a b (x :: COPROD Type) (y :: COPROD Type). (a ~> b) -> Coprod (Id :: Type -> Type -> Type) x y -> Coprod (Id :: Type -> Type -> Type) (Act a x) (Act b y) Source Comments #
Defined in Proarrow.Category.Instance.Linear
coact :: forall (a :: COPROD LINEAR) (x :: COPROD LINEAR) (y :: COPROD LINEAR). (Ob a, Ob x, Ob y) => Coprod (Id :: LINEAR -> LINEAR -> Type) (Act a x) (Act a y) -> Coprod (Id :: LINEAR -> LINEAR -> Type) x y Source Comments #
coact :: forall (a :: COPROD Type) (x :: COPROD Type) (y :: COPROD Type). (Ob a, Ob x, Ob y) => Coprod (Id :: Type -> Type -> Type) (Act a x) (Act a y) -> Coprod (Id :: Type -> Type -> Type) x y Source Comments #
act :: forall (a :: COPROD k) (b :: COPROD k) (x :: COPROD k) (y :: COPROD k). (a ~> b) -> Coprod (Id :: k -> k -> Type) x y -> Coprod (Id :: k -> k -> Type) (Act a x) (Act b y) Source Comments #
par0 :: Coprod (Id :: k -> k -> Type) (Unit :: COPROD k) (Unit :: COPROD k) Source Comments #
par :: forall (x1 :: COPROD k) (x2 :: COPROD k) (y1 :: COPROD k) (y2 :: COPROD k). Coprod (Id :: k -> k -> Type) x1 x2 -> Coprod (Id :: k -> k -> Type) y1 y2 -> Coprod (Id :: k -> k -> Type) (x1 ** y1) (x2 ** y2) Source Comments #