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

Proarrow.Profunctor.Coproduct

Documentation

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

Constructors

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

Instances

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

Defined in Proarrow.Profunctor.Coproduct

Methods

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

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

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

Defined in Proarrow.Profunctor.Coproduct

Methods

dagger :: forall (a :: k) (b :: k). (p :+: q) a b -> (p :+: q) b a Source Comments #

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

Defined in Proarrow.Category.Monoidal.Distributive

Methods

cotraverse :: forall (p0 :: k +-> k). (DistributiveProfunctor p0, Strong k p0, SelfAction k) => (p0 :.: (p :+: q)) :~> ((p :+: q) :.: p0) Source Comments #

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

Defined in Proarrow.Category.Monoidal.Distributive

Methods

traverse :: forall (p0 :: k +-> k). (DistributiveProfunctor p0, Strong k p0, SelfAction k) => ((p :+: q) :.: p0) :~> (p0 :.: (p :+: q)) 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 #