product-profunctors 0.6.1 → 0.6.3
raw patch · 6 files changed
+298/−4 lines, 6 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Data.Profunctor.Product: (+++!) :: SumProfunctor p => p a b -> p a' b' -> p (Either a a') (Either b b')
+ Data.Profunctor.Product: class Profunctor p => SumProfunctor p
+ Data.Profunctor.Product: instance SumProfunctor (->)
+ Data.Profunctor.Product: list :: (ProductProfunctor p, SumProfunctor p) => p a b -> p [a] [b]
+ Data.Profunctor.Product: 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)
+ Data.Profunctor.Product: 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)
+ Data.Profunctor.Product: 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)
+ Data.Profunctor.Product: 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)
+ Data.Profunctor.Product: 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)
+ Data.Profunctor.Product: 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)
+ Data.Profunctor.Product: 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)
+ Data.Profunctor.Product: 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)
+ Data.Profunctor.Product: 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)
+ Data.Profunctor.Product: 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)
+ Data.Profunctor.Product: 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)
+ Data.Profunctor.Product: 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)
+ Data.Profunctor.Product.Default: instance (ProductProfunctor p, Default p a1 b1, Default p a2 b2, Default p a3 b3, Default p a4 b4, Default p a5 b5, Default p a6 b6, Default p a7 b7, Default p a8 b8, Default p a9 b9, Default p a10 b10, Default p a11 b11, Default p a12 b12, Default p a13 b13, Default p a14 b14, Default p a15 b15, Default p a16 b16, Default p a17 b17, Default p a18 b18, Default p a19 b19) => Default 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)
+ Data.Profunctor.Product.Default: instance (ProductProfunctor p, Default p a1 b1, Default p a2 b2, Default p a3 b3, Default p a4 b4, Default p a5 b5, Default p a6 b6, Default p a7 b7, Default p a8 b8, Default p a9 b9, Default p a10 b10, Default p a11 b11, Default p a12 b12, Default p a13 b13, Default p a14 b14, Default p a15 b15, Default p a16 b16, Default p a17 b17, Default p a18 b18, Default p a19 b19, Default p a20 b20) => Default 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)
+ Data.Profunctor.Product.Default: instance (ProductProfunctor p, Default p a1 b1, Default p a2 b2, Default p a3 b3, Default p a4 b4, Default p a5 b5, Default p a6 b6, Default p a7 b7, Default p a8 b8, Default p a9 b9, Default p a10 b10, Default p a11 b11, Default p a12 b12, Default p a13 b13, Default p a14 b14, Default p a15 b15, Default p a16 b16, Default p a17 b17, Default p a18 b18, Default p a19 b19, Default p a20 b20, Default p a21 b21) => Default 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)
+ Data.Profunctor.Product.Default: instance (ProductProfunctor p, Default p a1 b1, Default p a2 b2, Default p a3 b3, Default p a4 b4, Default p a5 b5, Default p a6 b6, Default p a7 b7, Default p a8 b8, Default p a9 b9, Default p a10 b10, Default p a11 b11, Default p a12 b12, Default p a13 b13, Default p a14 b14, Default p a15 b15, Default p a16 b16, Default p a17 b17, Default p a18 b18, Default p a19 b19, Default p a20 b20, Default p a21 b21, Default p a22 b22) => Default 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)
+ Data.Profunctor.Product.Default: instance (ProductProfunctor p, Default p a1 b1, Default p a2 b2, Default p a3 b3, Default p a4 b4, Default p a5 b5, Default p a6 b6, Default p a7 b7, Default p a8 b8, Default p a9 b9, Default p a10 b10, Default p a11 b11, Default p a12 b12, Default p a13 b13, Default p a14 b14, Default p a15 b15, Default p a16 b16, Default p a17 b17, Default p a18 b18, Default p a19 b19, Default p a20 b20, Default p a21 b21, Default p a22 b22, Default p a23 b23) => Default 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)
+ Data.Profunctor.Product.Default: instance (ProductProfunctor p, Default p a1 b1, Default p a2 b2, Default p a3 b3, Default p a4 b4, Default p a5 b5, Default p a6 b6, Default p a7 b7, Default p a8 b8, Default p a9 b9, Default p a10 b10, Default p a11 b11, Default p a12 b12, Default p a13 b13, Default p a14 b14, Default p a15 b15, Default p a16 b16, Default p a17 b17, Default p a18 b18, Default p a19 b19, Default p a20 b20, Default p a21 b21, Default p a22 b22, Default p a23 b23, Default p a24 b24) => Default 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)
+ Data.Profunctor.Product.Flatten: flatten19 :: (t, (t1, (t2, (t3, (t4, (t5, (t6, (t7, (t8, (t9, (t10, (t11, (t12, (t13, (t14, (t15, (t16, (t17, t18)))))))))))))))))) -> (t, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18)
+ Data.Profunctor.Product.Flatten: flatten20 :: (t, (t1, (t2, (t3, (t4, (t5, (t6, (t7, (t8, (t9, (t10, (t11, (t12, (t13, (t14, (t15, (t16, (t17, (t18, t19))))))))))))))))))) -> (t, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19)
+ Data.Profunctor.Product.Flatten: flatten21 :: (t, (t1, (t2, (t3, (t4, (t5, (t6, (t7, (t8, (t9, (t10, (t11, (t12, (t13, (t14, (t15, (t16, (t17, (t18, (t19, t20)))))))))))))))))))) -> (t, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20)
+ Data.Profunctor.Product.Flatten: flatten22 :: (t, (t1, (t2, (t3, (t4, (t5, (t6, (t7, (t8, (t9, (t10, (t11, (t12, (t13, (t14, (t15, (t16, (t17, (t18, (t19, (t20, t21))))))))))))))))))))) -> (t, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21)
+ Data.Profunctor.Product.Flatten: flatten23 :: (t, (t1, (t2, (t3, (t4, (t5, (t6, (t7, (t8, (t9, (t10, (t11, (t12, (t13, (t14, (t15, (t16, (t17, (t18, (t19, (t20, (t21, t22)))))))))))))))))))))) -> (t, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22)
+ Data.Profunctor.Product.Flatten: flatten24 :: (t, (t1, (t2, (t3, (t4, (t5, (t6, (t7, (t8, (t9, (t10, (t11, (t12, (t13, (t14, (t15, (t16, (t17, (t18, (t19, (t20, (t21, (t22, t23))))))))))))))))))))))) -> (t, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23)
+ Data.Profunctor.Product.Flatten: unflatten19 :: (t, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18) -> (t, (t1, (t2, (t3, (t4, (t5, (t6, (t7, (t8, (t9, (t10, (t11, (t12, (t13, (t14, (t15, (t16, (t17, t18))))))))))))))))))
+ Data.Profunctor.Product.Flatten: unflatten20 :: (t, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19) -> (t, (t1, (t2, (t3, (t4, (t5, (t6, (t7, (t8, (t9, (t10, (t11, (t12, (t13, (t14, (t15, (t16, (t17, (t18, t19)))))))))))))))))))
+ Data.Profunctor.Product.Flatten: unflatten21 :: (t, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20) -> (t, (t1, (t2, (t3, (t4, (t5, (t6, (t7, (t8, (t9, (t10, (t11, (t12, (t13, (t14, (t15, (t16, (t17, (t18, (t19, t20))))))))))))))))))))
+ Data.Profunctor.Product.Flatten: unflatten22 :: (t, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21) -> (t, (t1, (t2, (t3, (t4, (t5, (t6, (t7, (t8, (t9, (t10, (t11, (t12, (t13, (t14, (t15, (t16, (t17, (t18, (t19, (t20, t21)))))))))))))))))))))
+ Data.Profunctor.Product.Flatten: unflatten23 :: (t, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22) -> (t, (t1, (t2, (t3, (t4, (t5, (t6, (t7, (t8, (t9, (t10, (t11, (t12, (t13, (t14, (t15, (t16, (t17, (t18, (t19, (t20, (t21, t22))))))))))))))))))))))
+ Data.Profunctor.Product.Flatten: unflatten24 :: (t, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23) -> (t, (t1, (t2, (t3, (t4, (t5, (t6, (t7, (t8, (t9, (t10, (t11, (t12, (t13, (t14, (t15, (t16, (t17, (t18, (t19, (t20, (t21, (t22, t23)))))))))))))))))))))))
+ Data.Profunctor.Product.Tuples: type T19 a b c d e f g h a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 = (a, T18 b c d e f g h a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19)
+ Data.Profunctor.Product.Tuples: type T20 a b c d e f g h a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 = (a, T19 b c d e f g h a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20)
+ Data.Profunctor.Product.Tuples: type T21 a b c d e f g h a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 = (a, T20 b c d e f g h a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21)
+ Data.Profunctor.Product.Tuples: type T22 a b c d e f g h a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 = (a, T21 b c d e f g h a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22)
+ Data.Profunctor.Product.Tuples: type T23 a b c d e f g h a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 = (a, T22 b c d e f g h a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23)
+ Data.Profunctor.Product.Tuples: type T24 a b c d e f g h a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 = (a, T23 b c d e f g h a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24)
Files
- Data/Profunctor/Product.hs +147/−0
- Data/Profunctor/Product/Default.hs +93/−0
- Data/Profunctor/Product/Flatten.hs +36/−0
- Data/Profunctor/Product/TH.hs +7/−1
- Data/Profunctor/Product/Tuples.hs +12/−0
- product-profunctors.cabal +3/−3
Data/Profunctor/Product.hs view
@@ -2,6 +2,7 @@ import Prelude hiding (id) import Data.Profunctor (Profunctor, dimap, lmap, WrappedArrow)+import qualified Data.Profunctor as Profunctor import Data.Functor.Contravariant (Contravariant, contramap) -- vv TODO: don't want to have to import all those explicitly. What to do? import Data.Profunctor.Product.Flatten@@ -109,6 +110,29 @@ empty = AndArrow (arr (const ())) (AndArrow f) ***! (AndArrow f') = AndArrow (f &&& f') +-- { Sum++class Profunctor p => SumProfunctor p where+ -- Morally we should have 'zero :: p Void Void' but I don't think+ -- that would actually be useful+ (+++!) :: p a b -> p a' b' -> p (Either a a') (Either b b')++instance SumProfunctor (->) where+ f +++! g = either (Left . f) (Right . g)++list :: (ProductProfunctor p, SumProfunctor p) => p a b -> p [a] [b]+list p = Profunctor.dimap fromList toList (empty +++! (p ***! list p))+ where toList :: Either () (a, [a]) -> [a]+ toList = either (const []) (uncurry (:))+ fromList :: [a] -> Either () (a, [a])+ fromList [] = Left ()+ fromList (a:as) = Right (a, as)++-- SumContravariant would be 'Data.Functor.Contravariant.Decidable'+-- (without the requirement to also be Divisible).++-- }+ pT0 :: ProductProfunctor p => T0 -> p T0 T0 pT0 = const empty @@ -232,6 +256,71 @@ (T18 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18) pT18 = chain pT17 +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)+pT19 = chain pT18++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)+pT20 = chain pT19++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)+pT21 = chain pT20++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)+pT22 = chain pT21++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)+pT23 = chain pT22++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)+pT24 = chain pT23+ convert :: Profunctor p => (a2 -> a1) -> (tp -> tTp) -> (b1 -> b2) -> (tTp -> p a1 b1) -> tp -> p a2 b2@@ -350,3 +439,61 @@ -> 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) p18 = convert unflatten18 unflatten18 flatten18 pT18++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)+p19 = convert unflatten19 unflatten19 flatten19 pT19++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)+p20 = convert unflatten20 unflatten20 flatten20 pT20++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)+p21 = convert unflatten21 unflatten21 flatten21 pT21++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)+p22 = convert unflatten22 unflatten22 flatten22 pT22++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)+p23 = convert unflatten23 unflatten23 flatten23 pT23++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)+p24 = convert unflatten24 unflatten24 flatten24 pT24
Data/Profunctor/Product/Default.hs view
@@ -173,3 +173,96 @@ b9, b10, b11, b12, b13, b14, b15, b16, b17, b18) where def = p18 (def, def, def, def, def, def, def, def, def, def, def, def, def, def, def, def, def, def)++instance (ProductProfunctor p, Default p a1 b1, Default p a2 b2,+ Default p a3 b3, Default p a4 b4, Default p a5 b5,+ Default p a6 b6, Default p a7 b7, Default p a8 b8,+ Default p a9 b9, Default p a10 b10, Default p a11 b11,+ Default p a12 b12, Default p a13 b13, Default p a14 b14,+ Default p a15 b15, Default p a16 b16, Default p a17 b17,+ Default p a18 b18, Default p a19 b19)+ => Default 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) where+ def = p19 (def, def, def, def, def, def, def, def, def, def,+ def, def, def, def, def, def, def, def, def)++instance (ProductProfunctor p, Default p a1 b1, Default p a2 b2,+ Default p a3 b3, Default p a4 b4, Default p a5 b5,+ Default p a6 b6, Default p a7 b7, Default p a8 b8,+ Default p a9 b9, Default p a10 b10, Default p a11 b11,+ Default p a12 b12, Default p a13 b13, Default p a14 b14,+ Default p a15 b15, Default p a16 b16, Default p a17 b17,+ Default p a18 b18, Default p a19 b19, Default p a20 b20)+ => Default 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) where+ def = p20 (def, def, def, def, def, def, def, def, def, def,+ def, def, def, def, def, def, def, def, def, def)++instance (ProductProfunctor p, Default p a1 b1, Default p a2 b2,+ Default p a3 b3, Default p a4 b4, Default p a5 b5,+ Default p a6 b6, Default p a7 b7, Default p a8 b8,+ Default p a9 b9, Default p a10 b10, Default p a11 b11,+ Default p a12 b12, Default p a13 b13, Default p a14 b14,+ Default p a15 b15, Default p a16 b16, Default p a17 b17,+ Default p a18 b18, Default p a19 b19, Default p a20 b20,+ Default p a21 b21)+ => Default 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) where+ def = p21 (def, def, def, def, def, def, def, def, def, def,+ def, def, def, def, def, def, def, def, def, def,+ def)++instance (ProductProfunctor p, Default p a1 b1, Default p a2 b2,+ Default p a3 b3, Default p a4 b4, Default p a5 b5,+ Default p a6 b6, Default p a7 b7, Default p a8 b8,+ Default p a9 b9, Default p a10 b10, Default p a11 b11,+ Default p a12 b12, Default p a13 b13, Default p a14 b14,+ Default p a15 b15, Default p a16 b16, Default p a17 b17,+ Default p a18 b18, Default p a19 b19, Default p a20 b20,+ Default p a21 b21, Default p a22 b22)+ => Default 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) where+ def = p22 (def, def, def, def, def, def, def, def, def, def,+ def, def, def, def, def, def, def, def, def, def,+ def, def)++instance (ProductProfunctor p, Default p a1 b1, Default p a2 b2,+ Default p a3 b3, Default p a4 b4, Default p a5 b5,+ Default p a6 b6, Default p a7 b7, Default p a8 b8,+ Default p a9 b9, Default p a10 b10, Default p a11 b11,+ Default p a12 b12, Default p a13 b13, Default p a14 b14,+ Default p a15 b15, Default p a16 b16, Default p a17 b17,+ Default p a18 b18, Default p a19 b19, Default p a20 b20,+ Default p a21 b21, Default p a22 b22, Default p a23 b23)+ => Default 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) where+ def = p23 (def, def, def, def, def, def, def, def, def, def,+ def, def, def, def, def, def, def, def, def, def,+ def, def, def)++instance (ProductProfunctor p, Default p a1 b1, Default p a2 b2,+ Default p a3 b3, Default p a4 b4, Default p a5 b5,+ Default p a6 b6, Default p a7 b7, Default p a8 b8,+ Default p a9 b9, Default p a10 b10, Default p a11 b11,+ Default p a12 b12, Default p a13 b13, Default p a14 b14,+ Default p a15 b15, Default p a16 b16, Default p a17 b17,+ Default p a18 b18, Default p a19 b19, Default p a20 b20,+ Default p a21 b21, Default p a22 b22, Default p a23 b23,+ Default p a24 b24)+ => Default 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) where+ def = p24 (def, def, def, def, def, def, def, def, def, def,+ def, def, def, def, def, def, def, def, def, def,+ def, def, def, def)
Data/Profunctor/Product/Flatten.hs view
@@ -86,3 +86,39 @@ = (a, b, c, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) unflatten18 (a, b, c, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) = (a, (b, (c, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, (a17, a18)))))))))))))))))++flatten19 (a, (b, (c, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12,+ (a13, (a14, (a15, (a16, (a17, (a18, a19))))))))))))))))))+ = (a, b, c, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19)+unflatten19 (a, b, c, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19)+ = (a, (b, (c, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, (a17, (a18, a19))))))))))))))))))++flatten20 (a, (b, (c, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12,+ (a13, (a14, (a15, (a16, (a17, (a18, (a19, a20)))))))))))))))))))+ = (a, b, c, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20)+unflatten20 (a, b, c, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20)+ = (a, (b, (c, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, (a17, (a18, (a19, a20)))))))))))))))))))++flatten21 (a, (b, (c, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12,+ (a13, (a14, (a15, (a16, (a17, (a18, (a19, (a20, a21))))))))))))))))))))+ = (a, b, c, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21)+unflatten21 (a, b, c, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21)+ = (a, (b, (c, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, (a17, (a18, (a19, (a20, a21))))))))))))))))))))++flatten22 (a, (b, (c, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12,+ (a13, (a14, (a15, (a16, (a17, (a18, (a19, (a20, (a21, a22)))))))))))))))))))))+ = (a, b, c, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22)+unflatten22 (a, b, c, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22)+ = (a, (b, (c, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, (a17, (a18, (a19, (a20, (a21, a22)))))))))))))))))))))++flatten23 (a, (b, (c, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12,+ (a13, (a14, (a15, (a16, (a17, (a18, (a19, (a20, (a21, (a22, a23))))))))))))))))))))))+ = (a, b, c, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23)+unflatten23 (a, b, c, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23)+ = (a, (b, (c, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, (a17, (a18, (a19, (a20, (a21, (a22, a23))))))))))))))))))))))++flatten24 (a, (b, (c, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12,+ (a13, (a14, (a15, (a16, (a17, (a18, (a19, (a20, (a21, (a22, (a23, a24)))))))))))))))))))))))+ = (a, b, c, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24)+unflatten24 (a, b, c, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24)+ = (a, (b, (c, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, (a17, (a18, (a19, (a20, (a21, (a22, (a23, a24)))))))))))))))))))))))
Data/Profunctor/Product/TH.hs view
@@ -43,7 +43,7 @@ import Data.Profunctor (dimap) import Data.Profunctor.Product (ProductProfunctor, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17,- p18)+ p18, p19, p20, p21, p22, p23, p24) import Data.Profunctor.Product.Default (Default, def) import Language.Haskell.TH (Dec(DataD, SigD, FunD, InstanceD), mkName, TyVarBndr(PlainTV, KindedTV),@@ -229,6 +229,12 @@ 16 -> 'p16 17 -> 'p17 18 -> 'p18+ 19 -> 'p19+ 20 -> 'p20+ 21 -> 'p21+ 22 -> 'p22+ 23 -> 'p23+ 24 -> 'p24 _ -> error errorMsg where errorMsg = "Data.Profunctor.Product.TH: " ++ show n
Data/Profunctor/Product/Tuples.hs view
@@ -25,3 +25,15 @@ (a, T16 b c d e f g h a9 a10 a11 a12 a13 a14 a15 a16 a17) type T18 a b c d e f g h a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 = (a, T17 b c d e f g h a9 a10 a11 a12 a13 a14 a15 a16 a17 a18)+type T19 a b c d e f g h a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 =+ (a, T18 b c d e f g h a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19)+type T20 a b c d e f g h a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 =+ (a, T19 b c d e f g h a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20)+type T21 a b c d e f g h a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 =+ (a, T20 b c d e f g h a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21)+type T22 a b c d e f g h a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 =+ (a, T21 b c d e f g h a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22)+type T23 a b c d e f g h a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 =+ (a, T22 b c d e f g h a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23)+type T24 a b c d e f g h a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 =+ (a, T23 b c d e f g h a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24)
product-profunctors.cabal view
@@ -1,5 +1,5 @@ name: product-profunctors-version: 0.6.1+version: 0.6.3 synopsis: product-profunctors description: Product profunctors homepage: https://github.com/tomjaguarpaw/product-profunctors@@ -16,8 +16,8 @@ Location: https://github.com/tomjaguarpaw/product-profunctors library- build-depends: base >= 4 && < 5- , profunctors >= 4.0 && < 4.5+ build-depends: base >= 4.5 && < 5+ , profunctors >= 4.0 && < 5.2 , contravariant >= 0.4 && < 1.4 , template-haskell exposed-modules: Data.Profunctor.Product,