semigroupoid-extras-0.2.3: Semigroupoids requiring Haskell extensions

Data.Semigroupoid.Product

Documentation

data Product j k a b whereSource

Constructors

Pair :: j a b -> k a' b' -> Product j k (a, a') (b, b') 

Instances

Semifunctor (Bi Either) (Product (->) (->)) (->) 
Semifunctor (Bi (,)) (Product (->) (->)) (->) 
Bind m => Semifunctor (Bi Either) (Product (Kleisli m) (Kleisli m)) (Kleisli m) 
Bind m => Semifunctor (Bi (,)) (Product (Kleisli m) (Kleisli m)) (Kleisli m) 
Extend w => Semifunctor (Bi (,)) (Product (Cokleisli w) (Cokleisli w)) (Cokleisli w) 
(Semigroupoid j, Semigroupoid k) => Semigroupoid (Product j k) 
(Ob l a, Ob r b) => Ob (Product l r) (a, b) 

factorDualProduct :: Product (Dual j) (Dual k) a b -> Dual (Product j k) a bSource