proarrow-0: Category theory with a central role for profunctors
Safe HaskellNone
LanguageHaskell2010

Proarrow.Profunctor.Coproduct

Documentation

data ((p :: PRO j k) :+: (q :: PRO j k)) (a :: j) (b :: k) where Source Comments #

Constructors

InjL :: forall {j} {k} (p :: PRO j k) (a :: j) (b :: k) (q :: PRO j k). p a b -> (p :+: q) a b 
InjR :: forall {j} {k} (q :: PRO j k) (a :: j) (b :: k) (p :: PRO j k). q a b -> (p :+: q) a b 

Instances

Instances details
(Profunctor p, Profunctor q) => Profunctor (p :+: q :: j -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Coproduct

Methods

dimap :: forall (c :: j) (a :: j) (b :: k) (d :: k). (c ~> a) -> (b ~> d) -> (p :+: q) a b -> (p :+: q) c d Source Comments #

(\\) :: forall (a :: j) (b :: k) r. ((Ob a, Ob b) => r) -> (p :+: q) a b -> r Source Comments #

coproduct :: forall {k} {k1} (p :: k -> k1 -> Type) (r :: k -> k1 -> Type) (q :: k -> k1 -> Type). (p :~> r) -> (q :~> r) -> (p :+: q) :~> r Source Comments #