Safe Haskell | Safe |
---|---|
Language | Haskell98 |
Documentation
class Profunctor p => ProductProfunctor p where Source
ProductProfunctor (->) Source | |
Arrow arr => ProductProfunctor (WrappedArrow arr) Source | |
ProductContravariant f => ProductProfunctor (PPOfContravariant f) Source | |
Arrow arr => ProductProfunctor (AndArrow arr z) Source |
class Contravariant f => ProductContravariant f where Source
defaultEmpty :: Applicative (p ()) => p () () Source
defaultProfunctorProduct :: (Applicative (p (a, a')), Profunctor p) => p a b -> p a' b' -> p (a, a') (b, b') Source
defaultPoint :: Monoid (p ()) => p () Source
defaultContravariantProduct :: (Contravariant f, Monoid (f (a, b))) => f a -> f b -> f (a, b) Source
newtype PPOfContravariant f a b Source
PPOfContravariant (f a) |
unPPOfContravariant :: PPOfContravariant c a a -> c a Source
data AndArrow arr z a b Source
AndArrow | |
|
Arrow arr => Profunctor (AndArrow arr z) Source | |
Arrow arr => ProductProfunctor (AndArrow arr z) Source |
class Profunctor p => SumProfunctor p where Source
SumProfunctor (->) Source |
list :: (ProductProfunctor p, SumProfunctor p) => p a b -> p [a] [b] Source
chain :: ProductProfunctor p => (t -> p a2 b2) -> (p a1 b1, t) -> p (a1, a2) (b1, b2) Source
pT3 :: ProductProfunctor p => T3 (p a1 b1) (p a2 b2) (p a3 b3) -> p (T3 a1 a2 a3) (T3 b1 b2 b3) Source
pT4 :: ProductProfunctor p => T4 (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) -> p (T4 a1 a2 a3 a4) (T4 b1 b2 b3 b4) Source
pT5 :: ProductProfunctor p => T5 (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) -> p (T5 a1 a2 a3 a4 a5) (T5 b1 b2 b3 b4 b5) Source
pT6 :: ProductProfunctor p => T6 (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) -> p (T6 a1 a2 a3 a4 a5 a6) (T6 b1 b2 b3 b4 b5 b6) Source
pT7 :: ProductProfunctor p => T7 (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) -> p (T7 a1 a2 a3 a4 a5 a6 a7) (T7 b1 b2 b3 b4 b5 b6 b7) Source
pT8 :: ProductProfunctor p => T8 (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) -> p (T8 a1 a2 a3 a4 a5 a6 a7 a8) (T8 b1 b2 b3 b4 b5 b6 b7 b8) Source
pT9 :: ProductProfunctor p => T9 (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) -> p (T9 a1 a2 a3 a4 a5 a6 a7 a8 a9) (T9 b1 b2 b3 b4 b5 b6 b7 b8 b9) Source
pT10 :: ProductProfunctor p => T10 (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) -> p (T10 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10) (T10 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10) Source
pT11 :: ProductProfunctor p => T11 (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) -> p (T11 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11) (T11 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11) Source
pT12 :: ProductProfunctor p => T12 (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) -> p (T12 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) (T12 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12) Source
pT13 :: ProductProfunctor p => T13 (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) -> p (T13 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13) (T13 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13) Source
pT14 :: ProductProfunctor p => T14 (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) -> p (T14 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14) (T14 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14) Source
pT15 :: ProductProfunctor p => T15 (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) -> p (T15 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15) (T15 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15) Source
pT16 :: ProductProfunctor p => T16 (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) -> p (T16 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16) (T16 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16) Source
pT17 :: ProductProfunctor p => T17 (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) -> p (T17 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17) (T17 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17) Source
pT18 :: ProductProfunctor p => T18 (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) -> p (T18 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18) (T18 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18) Source
pT19 :: ProductProfunctor p => T19 (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) -> p (T19 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19) (T19 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19) Source
pT20 :: ProductProfunctor p => T20 (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) -> p (T20 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20) (T20 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20) Source
pT21 :: ProductProfunctor p => T21 (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) -> p (T21 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21) (T21 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21) Source
pT22 :: ProductProfunctor p => T22 (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) -> p (T22 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22) (T22 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22) Source
pT23 :: ProductProfunctor p => T23 (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) -> p (T23 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23) (T23 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23) Source
pT24 :: ProductProfunctor p => T24 (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) -> p (T24 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24) (T24 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24) Source
convert :: Profunctor p => (a2 -> a1) -> (tp -> tTp) -> (b1 -> b2) -> (tTp -> p a1 b1) -> tp -> p a2 b2 Source
p0 :: ProductProfunctor p => () -> p () () Source
p1 :: ProductProfunctor p => p a1 b1 -> p a1 b1 Source
p2 :: ProductProfunctor p => (p a1 b1, p a2 b2) -> p (a1, a2) (b1, b2) Source
p3 :: ProductProfunctor p => (p a1 b1, p a2 b2, p a3 b3) -> p (a1, a2, a3) (b1, b2, b3) Source
p4 :: ProductProfunctor p => (p a1 b1, p a2 b2, p a3 b3, p a4 b4) -> p (a1, a2, a3, a4) (b1, b2, b3, b4) Source
p5 :: ProductProfunctor p => (p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5) -> p (a1, a2, a3, a4, a5) (b1, b2, b3, b4, b5) Source
p6 :: ProductProfunctor p => (p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6) -> p (a1, a2, a3, a4, a5, a6) (b1, b2, b3, b4, b5, b6) Source
p7 :: ProductProfunctor p => (p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7) -> p (a1, a2, a3, a4, a5, a6, a7) (b1, b2, b3, b4, b5, b6, b7) Source
p8 :: ProductProfunctor p => (p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8) -> p (a1, a2, a3, a4, a5, a6, a7, a8) (b1, b2, b3, b4, b5, b6, b7, b8) Source
p9 :: ProductProfunctor p => (p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9) -> p (a1, a2, a3, a4, a5, a6, a7, a8, a9) (b1, b2, b3, b4, b5, b6, b7, b8, b9) Source
p10 :: ProductProfunctor p => (p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10) -> p (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) (b1, b2, b3, b4, b5, b6, b7, b8, b9, b10) Source
p11 :: ProductProfunctor p => (p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11) -> p (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) (b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11) Source
p12 :: ProductProfunctor p => (p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12) -> p (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) (b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12) Source
p13 :: ProductProfunctor p => (p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13) -> p (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) (b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13) Source
p14 :: ProductProfunctor p => (p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14) -> p (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) (b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14) Source
p15 :: ProductProfunctor p => (p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15) -> p (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) (b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15) Source
p16 :: ProductProfunctor p => (p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16) -> p (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) (b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16) Source
p17 :: ProductProfunctor p => (p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17) -> p (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) (b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17) Source
p18 :: ProductProfunctor p => (p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18) -> p (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) (b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18) Source
p19 :: ProductProfunctor p => (p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19) -> p (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) (b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19) Source
p20 :: ProductProfunctor p => (p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20) -> p (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) (b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20) Source
p21 :: ProductProfunctor p => (p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21) -> p (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) (b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21) Source
p22 :: ProductProfunctor p => (p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22) -> p (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) (b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22) Source
p23 :: ProductProfunctor p => (p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23) -> p (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) (b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23) Source
p24 :: ProductProfunctor p => (p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24) -> p (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) (b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24) Source