Module

Data.Bifunctor.Monoidal.Specialized

#mux

mux :: forall p a b c d. Semigroupal Function Tuple Tuple Tuple p => p a b -> p c d -> p (a /\ c) (b /\ d)

#(&&)

Operator alias for Data.Bifunctor.Monoidal.Specialized.mux (right-associative / precedence 5)

#zip

zip :: forall p x a b. Profunctor p => Semigroupal Function Tuple Tuple Tuple p => p x a -> p x b -> p x (a /\ b)

#demux

demux :: forall p a b c d. Semigroupal Function Either Either Tuple p => p a b -> p c d -> p (a \/ c) (b \/ d)

#(||)

Operator alias for Data.Bifunctor.Monoidal.Specialized.demux (right-associative / precedence 4)

#fanin

fanin :: forall p x a b. Profunctor p => Semigroupal Function Either Either Tuple p => p a x -> p b x -> p (a \/ b) x

#switch

switch :: forall p a b c d. Semigroupal Function Tuple Either Tuple p => p a b -> p c d -> p (a /\ c) (b \/ d)

#(&|)

Operator alias for Data.Bifunctor.Monoidal.Specialized.switch (right-associative / precedence 5)

#union

union :: forall p x a b. Profunctor p => Semigroupal Function Tuple Either Tuple p => p x a -> p x b -> p x (a \/ b)

#divide

divide :: forall p x a b. Profunctor p => Semigroupal Function Tuple Either Tuple p => p a x -> p b x -> p (a /\ b) x

#splice

splice :: forall p a b c d. Semigroupal Function Either Tuple Tuple p => p a b -> p c d -> p (a \/ c) (b /\ d)

#(|&)

Operator alias for Data.Bifunctor.Monoidal.Specialized.splice (right-associative / precedence 5)

#diverge

diverge :: forall p a b c d. Semigroupal Function Either Either Either p => (p a b) \/ (p c d) -> p (a \/ c) (b \/ d)

#contramapMaybe

contramapMaybe :: forall p a b x. Profunctor p => Semigroupal Function Either Either Either p => (a -> Maybe b) -> p b x -> p a x

#zig

zig :: forall p t a b x. Profunctor p => Semigroupal Function Tuple t Either p => (p x a) \/ (p x b) -> p x (t a b)

#zag

zag :: forall p t a b x. Profunctor p => Semigroupal Function t Either Either p => (p a x) \/ (p b x) -> p (t a b) x

#ultrafirst

ultrafirst :: forall p a b x y. Profunctor p => Semigroupal Function Tuple Tuple Either p => p a b -> p (a /\ x) (b /\ y)

#ultrasecond

ultrasecond :: forall p a b x y. Profunctor p => Semigroupal Function Tuple Tuple Either p => p a b -> p (x /\ a) (y /\ b)

#ultraleft

ultraleft :: forall p a b x y. Profunctor p => Semigroupal Function Either Either Either p => p a b -> p (a \/ x) (b \/ y)

#ultraright

ultraright :: forall p a b x y. Profunctor p => Semigroupal Function Either Either Either p => p a b -> p (x \/ a) (y \/ b)

#comux

comux :: forall p a b c d. Semigroupal Op Tuple Tuple Tuple p => p (a /\ c) (b /\ d) -> (p a b) /\ (p c d)

#undivide

undivide :: forall p x a b. Profunctor p => Semigroupal Op Tuple Tuple Tuple p => p (a /\ b) x -> (p a x) /\ (p b x)

#codemux

codemux :: forall p a b c d. Semigroupal Op Either Either Tuple p => p (a \/ c) (b \/ d) -> (p a b) /\ (p c d)

#partition

partition :: forall p x a b. Profunctor p => Semigroupal Op Either Either Tuple p => p x (a \/ b) -> (p x a) /\ (p x b)

#coswitch

coswitch :: forall p a b c d. Semigroupal Op Either Tuple Tuple p => p (a \/ c) (b /\ d) -> (p a b) /\ (p c d)

#unfanin

unfanin :: forall p x a b. Profunctor p => Semigroupal Op Either Tuple Tuple p => p (a \/ b) x -> (p a x) /\ (p b x)

#unzip

unzip :: forall p x a b. Profunctor p => Semigroupal Op Either Tuple Tuple p => p x (a /\ b) -> (p x a) /\ (p x b)

#cosplice

cosplice :: forall p a b c d. Semigroupal Op Tuple Either Tuple p => p (a /\ c) (b \/ d) -> (p a b) /\ (p c d)

#terminal

terminal :: forall p a. Profunctor p => Unital Function Unit Unit Unit p => p a Unit

#ppure

ppure :: forall p a. Profunctor p => Unital Function Unit Unit Unit p => Strong p => p a a

#initial

initial :: forall p a. Profunctor p => Unital Function Void Void Unit p => p Void a

#poly

poly :: forall p a b. Profunctor p => Unital Function Unit Void Unit p => p a b

#mono

mono :: forall p. Unital Function Void Unit Unit p => p Void Unit

Modules