Module

Data.Bifunctor.Monoidal.Specialized

Package
purescript-monoidal
Repository
mcneissue/purescript-monoidal

#mux Source

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

#(&&) Source

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

#zip Source

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 Source

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

#(||) Source

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

#fanin Source

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 Source

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

#(&|) Source

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

#union Source

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 Source

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 Source

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

#(|&) Source

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

#diverge Source

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 Source

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

#zig Source

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 Source

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 Source

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

#ultrasecond Source

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

#ultraleft Source

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

#ultraright Source

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

#comux Source

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 Source

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 Source

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 Source

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 Source

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 Source

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 Source

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 Source

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 Source

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

#ppure Source

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

#initial Source

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

#poly Source

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

#mono Source

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