packages feed

functor-infix 0.0.1 → 0.0.2

raw patch · 5 files changed

+69/−52 lines, 5 filesdep ~basedep ~template-haskellPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: base, template-haskell

API changes (from Hackage documentation)

+ Data.Functor.Infix: declareFlippedInfixFmapForFunctorCompositionOfDegree :: Int -> Q [Dec]
+ Data.Functor.Infix: declareInfixFmapForFunctorCompositionOfDegree :: Int -> Q [Dec]
- Data.Functor.Infix: (<$$$$$$$$$$$$$$$$$$$$>) :: (Functor f_a3io, Functor f_a3ip, Functor f_a3iq, Functor f_a3ir, Functor f_a3is, Functor f_a3it, Functor f_a3iu, Functor f_a3iv, Functor f_a3iw, Functor f_a3ix, Functor f_a3iy, Functor f_a3iz, Functor f_a3iA, Functor f_a3iB, Functor f_a3iC, Functor f_a3iD, Functor f_a3iE, Functor f_a3iF, Functor f_a3iG, Functor f_a3iH) => (a -> b) -> f_a3io (f_a3ip (f_a3iq (f_a3ir (f_a3is (f_a3it (f_a3iu (f_a3iv (f_a3iw (f_a3ix (f_a3iy (f_a3iz (f_a3iA (f_a3iB (f_a3iC (f_a3iD (f_a3iE (f_a3iF (f_a3iG (f_a3iH a))))))))))))))))))) -> f_a3io (f_a3ip (f_a3iq (f_a3ir (f_a3is (f_a3it (f_a3iu (f_a3iv (f_a3iw (f_a3ix (f_a3iy (f_a3iz (f_a3iA (f_a3iB (f_a3iC (f_a3iD (f_a3iE (f_a3iF (f_a3iG (f_a3iH b)))))))))))))))))))
+ Data.Functor.Infix: (<$$$$$$$$$$$$$$$$$$$$>) :: (Functor f_a4CN, Functor f_a4CO, Functor f_a4CP, Functor f_a4CQ, Functor f_a4CR, Functor f_a4CS, Functor f_a4CT, Functor f_a4CU, Functor f_a4CV, Functor f_a4CW, Functor f_a4CX, Functor f_a4CY, Functor f_a4CZ, Functor f_a4D0, Functor f_a4D1, Functor f_a4D2, Functor f_a4D3, Functor f_a4D4, Functor f_a4D5, Functor f_a4D6) => (a -> b) -> f_a4CN (f_a4CO (f_a4CP (f_a4CQ (f_a4CR (f_a4CS (f_a4CT (f_a4CU (f_a4CV (f_a4CW (f_a4CX (f_a4CY (f_a4CZ (f_a4D0 (f_a4D1 (f_a4D2 (f_a4D3 (f_a4D4 (f_a4D5 (f_a4D6 a))))))))))))))))))) -> f_a4CN (f_a4CO (f_a4CP (f_a4CQ (f_a4CR (f_a4CS (f_a4CT (f_a4CU (f_a4CV (f_a4CW (f_a4CX (f_a4CY (f_a4CZ (f_a4D0 (f_a4D1 (f_a4D2 (f_a4D3 (f_a4D4 (f_a4D5 (f_a4D6 b)))))))))))))))))))
- Data.Functor.Infix: (<$$$$$$$$$$$$$$$$$$$>) :: (Functor f_a3i5, Functor f_a3i6, Functor f_a3i7, Functor f_a3i8, Functor f_a3i9, Functor f_a3ia, Functor f_a3ib, Functor f_a3ic, Functor f_a3id, Functor f_a3ie, Functor f_a3if, Functor f_a3ig, Functor f_a3ih, Functor f_a3ii, Functor f_a3ij, Functor f_a3ik, Functor f_a3il, Functor f_a3im, Functor f_a3in) => (a -> b) -> f_a3i5 (f_a3i6 (f_a3i7 (f_a3i8 (f_a3i9 (f_a3ia (f_a3ib (f_a3ic (f_a3id (f_a3ie (f_a3if (f_a3ig (f_a3ih (f_a3ii (f_a3ij (f_a3ik (f_a3il (f_a3im (f_a3in a)))))))))))))))))) -> f_a3i5 (f_a3i6 (f_a3i7 (f_a3i8 (f_a3i9 (f_a3ia (f_a3ib (f_a3ic (f_a3id (f_a3ie (f_a3if (f_a3ig (f_a3ih (f_a3ii (f_a3ij (f_a3ik (f_a3il (f_a3im (f_a3in b))))))))))))))))))
+ Data.Functor.Infix: (<$$$$$$$$$$$$$$$$$$$>) :: (Functor f_a4Cu, Functor f_a4Cv, Functor f_a4Cw, Functor f_a4Cx, Functor f_a4Cy, Functor f_a4Cz, Functor f_a4CA, Functor f_a4CB, Functor f_a4CC, Functor f_a4CD, Functor f_a4CE, Functor f_a4CF, Functor f_a4CG, Functor f_a4CH, Functor f_a4CI, Functor f_a4CJ, Functor f_a4CK, Functor f_a4CL, Functor f_a4CM) => (a -> b) -> f_a4Cu (f_a4Cv (f_a4Cw (f_a4Cx (f_a4Cy (f_a4Cz (f_a4CA (f_a4CB (f_a4CC (f_a4CD (f_a4CE (f_a4CF (f_a4CG (f_a4CH (f_a4CI (f_a4CJ (f_a4CK (f_a4CL (f_a4CM a)))))))))))))))))) -> f_a4Cu (f_a4Cv (f_a4Cw (f_a4Cx (f_a4Cy (f_a4Cz (f_a4CA (f_a4CB (f_a4CC (f_a4CD (f_a4CE (f_a4CF (f_a4CG (f_a4CH (f_a4CI (f_a4CJ (f_a4CK (f_a4CL (f_a4CM b))))))))))))))))))
- Data.Functor.Infix: (<$$$$$$$$$$$$$$$$$$>) :: (Functor f_a3hN, Functor f_a3hO, Functor f_a3hP, Functor f_a3hQ, Functor f_a3hR, Functor f_a3hS, Functor f_a3hT, Functor f_a3hU, Functor f_a3hV, Functor f_a3hW, Functor f_a3hX, Functor f_a3hY, Functor f_a3hZ, Functor f_a3i0, Functor f_a3i1, Functor f_a3i2, Functor f_a3i3, Functor f_a3i4) => (a -> b) -> f_a3hN (f_a3hO (f_a3hP (f_a3hQ (f_a3hR (f_a3hS (f_a3hT (f_a3hU (f_a3hV (f_a3hW (f_a3hX (f_a3hY (f_a3hZ (f_a3i0 (f_a3i1 (f_a3i2 (f_a3i3 (f_a3i4 a))))))))))))))))) -> f_a3hN (f_a3hO (f_a3hP (f_a3hQ (f_a3hR (f_a3hS (f_a3hT (f_a3hU (f_a3hV (f_a3hW (f_a3hX (f_a3hY (f_a3hZ (f_a3i0 (f_a3i1 (f_a3i2 (f_a3i3 (f_a3i4 b)))))))))))))))))
+ Data.Functor.Infix: (<$$$$$$$$$$$$$$$$$$>) :: (Functor f_a4Cc, Functor f_a4Cd, Functor f_a4Ce, Functor f_a4Cf, Functor f_a4Cg, Functor f_a4Ch, Functor f_a4Ci, Functor f_a4Cj, Functor f_a4Ck, Functor f_a4Cl, Functor f_a4Cm, Functor f_a4Cn, Functor f_a4Co, Functor f_a4Cp, Functor f_a4Cq, Functor f_a4Cr, Functor f_a4Cs, Functor f_a4Ct) => (a -> b) -> f_a4Cc (f_a4Cd (f_a4Ce (f_a4Cf (f_a4Cg (f_a4Ch (f_a4Ci (f_a4Cj (f_a4Ck (f_a4Cl (f_a4Cm (f_a4Cn (f_a4Co (f_a4Cp (f_a4Cq (f_a4Cr (f_a4Cs (f_a4Ct a))))))))))))))))) -> f_a4Cc (f_a4Cd (f_a4Ce (f_a4Cf (f_a4Cg (f_a4Ch (f_a4Ci (f_a4Cj (f_a4Ck (f_a4Cl (f_a4Cm (f_a4Cn (f_a4Co (f_a4Cp (f_a4Cq (f_a4Cr (f_a4Cs (f_a4Ct b)))))))))))))))))
- Data.Functor.Infix: (<$$$$$$$$$$$$$$$$$>) :: (Functor f_a3hw, Functor f_a3hx, Functor f_a3hy, Functor f_a3hz, Functor f_a3hA, Functor f_a3hB, Functor f_a3hC, Functor f_a3hD, Functor f_a3hE, Functor f_a3hF, Functor f_a3hG, Functor f_a3hH, Functor f_a3hI, Functor f_a3hJ, Functor f_a3hK, Functor f_a3hL, Functor f_a3hM) => (a -> b) -> f_a3hw (f_a3hx (f_a3hy (f_a3hz (f_a3hA (f_a3hB (f_a3hC (f_a3hD (f_a3hE (f_a3hF (f_a3hG (f_a3hH (f_a3hI (f_a3hJ (f_a3hK (f_a3hL (f_a3hM a)))))))))))))))) -> f_a3hw (f_a3hx (f_a3hy (f_a3hz (f_a3hA (f_a3hB (f_a3hC (f_a3hD (f_a3hE (f_a3hF (f_a3hG (f_a3hH (f_a3hI (f_a3hJ (f_a3hK (f_a3hL (f_a3hM b))))))))))))))))
+ Data.Functor.Infix: (<$$$$$$$$$$$$$$$$$>) :: (Functor f_a4BV, Functor f_a4BW, Functor f_a4BX, Functor f_a4BY, Functor f_a4BZ, Functor f_a4C0, Functor f_a4C1, Functor f_a4C2, Functor f_a4C3, Functor f_a4C4, Functor f_a4C5, Functor f_a4C6, Functor f_a4C7, Functor f_a4C8, Functor f_a4C9, Functor f_a4Ca, Functor f_a4Cb) => (a -> b) -> f_a4BV (f_a4BW (f_a4BX (f_a4BY (f_a4BZ (f_a4C0 (f_a4C1 (f_a4C2 (f_a4C3 (f_a4C4 (f_a4C5 (f_a4C6 (f_a4C7 (f_a4C8 (f_a4C9 (f_a4Ca (f_a4Cb a)))))))))))))))) -> f_a4BV (f_a4BW (f_a4BX (f_a4BY (f_a4BZ (f_a4C0 (f_a4C1 (f_a4C2 (f_a4C3 (f_a4C4 (f_a4C5 (f_a4C6 (f_a4C7 (f_a4C8 (f_a4C9 (f_a4Ca (f_a4Cb b))))))))))))))))
- Data.Functor.Infix: (<$$$$$$$$$$$$$$$$>) :: (Functor f_a3hg, Functor f_a3hh, Functor f_a3hi, Functor f_a3hj, Functor f_a3hk, Functor f_a3hl, Functor f_a3hm, Functor f_a3hn, Functor f_a3ho, Functor f_a3hp, Functor f_a3hq, Functor f_a3hr, Functor f_a3hs, Functor f_a3ht, Functor f_a3hu, Functor f_a3hv) => (a -> b) -> f_a3hg (f_a3hh (f_a3hi (f_a3hj (f_a3hk (f_a3hl (f_a3hm (f_a3hn (f_a3ho (f_a3hp (f_a3hq (f_a3hr (f_a3hs (f_a3ht (f_a3hu (f_a3hv a))))))))))))))) -> f_a3hg (f_a3hh (f_a3hi (f_a3hj (f_a3hk (f_a3hl (f_a3hm (f_a3hn (f_a3ho (f_a3hp (f_a3hq (f_a3hr (f_a3hs (f_a3ht (f_a3hu (f_a3hv b)))))))))))))))
+ Data.Functor.Infix: (<$$$$$$$$$$$$$$$$>) :: (Functor f_a4BF, Functor f_a4BG, Functor f_a4BH, Functor f_a4BI, Functor f_a4BJ, Functor f_a4BK, Functor f_a4BL, Functor f_a4BM, Functor f_a4BN, Functor f_a4BO, Functor f_a4BP, Functor f_a4BQ, Functor f_a4BR, Functor f_a4BS, Functor f_a4BT, Functor f_a4BU) => (a -> b) -> f_a4BF (f_a4BG (f_a4BH (f_a4BI (f_a4BJ (f_a4BK (f_a4BL (f_a4BM (f_a4BN (f_a4BO (f_a4BP (f_a4BQ (f_a4BR (f_a4BS (f_a4BT (f_a4BU a))))))))))))))) -> f_a4BF (f_a4BG (f_a4BH (f_a4BI (f_a4BJ (f_a4BK (f_a4BL (f_a4BM (f_a4BN (f_a4BO (f_a4BP (f_a4BQ (f_a4BR (f_a4BS (f_a4BT (f_a4BU b)))))))))))))))
- Data.Functor.Infix: (<$$$$$$$$$$$$$$$>) :: (Functor f_a3h1, Functor f_a3h2, Functor f_a3h3, Functor f_a3h4, Functor f_a3h5, Functor f_a3h6, Functor f_a3h7, Functor f_a3h8, Functor f_a3h9, Functor f_a3ha, Functor f_a3hb, Functor f_a3hc, Functor f_a3hd, Functor f_a3he, Functor f_a3hf) => (a -> b) -> f_a3h1 (f_a3h2 (f_a3h3 (f_a3h4 (f_a3h5 (f_a3h6 (f_a3h7 (f_a3h8 (f_a3h9 (f_a3ha (f_a3hb (f_a3hc (f_a3hd (f_a3he (f_a3hf a)))))))))))))) -> f_a3h1 (f_a3h2 (f_a3h3 (f_a3h4 (f_a3h5 (f_a3h6 (f_a3h7 (f_a3h8 (f_a3h9 (f_a3ha (f_a3hb (f_a3hc (f_a3hd (f_a3he (f_a3hf b))))))))))))))
+ Data.Functor.Infix: (<$$$$$$$$$$$$$$$>) :: (Functor f_a4Bq, Functor f_a4Br, Functor f_a4Bs, Functor f_a4Bt, Functor f_a4Bu, Functor f_a4Bv, Functor f_a4Bw, Functor f_a4Bx, Functor f_a4By, Functor f_a4Bz, Functor f_a4BA, Functor f_a4BB, Functor f_a4BC, Functor f_a4BD, Functor f_a4BE) => (a -> b) -> f_a4Bq (f_a4Br (f_a4Bs (f_a4Bt (f_a4Bu (f_a4Bv (f_a4Bw (f_a4Bx (f_a4By (f_a4Bz (f_a4BA (f_a4BB (f_a4BC (f_a4BD (f_a4BE a)))))))))))))) -> f_a4Bq (f_a4Br (f_a4Bs (f_a4Bt (f_a4Bu (f_a4Bv (f_a4Bw (f_a4Bx (f_a4By (f_a4Bz (f_a4BA (f_a4BB (f_a4BC (f_a4BD (f_a4BE b))))))))))))))
- Data.Functor.Infix: (<$$$$$$$$$$$$$$>) :: (Functor f_a3gN, Functor f_a3gO, Functor f_a3gP, Functor f_a3gQ, Functor f_a3gR, Functor f_a3gS, Functor f_a3gT, Functor f_a3gU, Functor f_a3gV, Functor f_a3gW, Functor f_a3gX, Functor f_a3gY, Functor f_a3gZ, Functor f_a3h0) => (a -> b) -> f_a3gN (f_a3gO (f_a3gP (f_a3gQ (f_a3gR (f_a3gS (f_a3gT (f_a3gU (f_a3gV (f_a3gW (f_a3gX (f_a3gY (f_a3gZ (f_a3h0 a))))))))))))) -> f_a3gN (f_a3gO (f_a3gP (f_a3gQ (f_a3gR (f_a3gS (f_a3gT (f_a3gU (f_a3gV (f_a3gW (f_a3gX (f_a3gY (f_a3gZ (f_a3h0 b)))))))))))))
+ Data.Functor.Infix: (<$$$$$$$$$$$$$$>) :: (Functor f_a4Bc, Functor f_a4Bd, Functor f_a4Be, Functor f_a4Bf, Functor f_a4Bg, Functor f_a4Bh, Functor f_a4Bi, Functor f_a4Bj, Functor f_a4Bk, Functor f_a4Bl, Functor f_a4Bm, Functor f_a4Bn, Functor f_a4Bo, Functor f_a4Bp) => (a -> b) -> f_a4Bc (f_a4Bd (f_a4Be (f_a4Bf (f_a4Bg (f_a4Bh (f_a4Bi (f_a4Bj (f_a4Bk (f_a4Bl (f_a4Bm (f_a4Bn (f_a4Bo (f_a4Bp a))))))))))))) -> f_a4Bc (f_a4Bd (f_a4Be (f_a4Bf (f_a4Bg (f_a4Bh (f_a4Bi (f_a4Bj (f_a4Bk (f_a4Bl (f_a4Bm (f_a4Bn (f_a4Bo (f_a4Bp b)))))))))))))
- Data.Functor.Infix: (<$$$$$$$$$$$$$>) :: (Functor f_a3gA, Functor f_a3gB, Functor f_a3gC, Functor f_a3gD, Functor f_a3gE, Functor f_a3gF, Functor f_a3gG, Functor f_a3gH, Functor f_a3gI, Functor f_a3gJ, Functor f_a3gK, Functor f_a3gL, Functor f_a3gM) => (a -> b) -> f_a3gA (f_a3gB (f_a3gC (f_a3gD (f_a3gE (f_a3gF (f_a3gG (f_a3gH (f_a3gI (f_a3gJ (f_a3gK (f_a3gL (f_a3gM a)))))))))))) -> f_a3gA (f_a3gB (f_a3gC (f_a3gD (f_a3gE (f_a3gF (f_a3gG (f_a3gH (f_a3gI (f_a3gJ (f_a3gK (f_a3gL (f_a3gM b))))))))))))
+ Data.Functor.Infix: (<$$$$$$$$$$$$$>) :: (Functor f_a4AZ, Functor f_a4B0, Functor f_a4B1, Functor f_a4B2, Functor f_a4B3, Functor f_a4B4, Functor f_a4B5, Functor f_a4B6, Functor f_a4B7, Functor f_a4B8, Functor f_a4B9, Functor f_a4Ba, Functor f_a4Bb) => (a -> b) -> f_a4AZ (f_a4B0 (f_a4B1 (f_a4B2 (f_a4B3 (f_a4B4 (f_a4B5 (f_a4B6 (f_a4B7 (f_a4B8 (f_a4B9 (f_a4Ba (f_a4Bb a)))))))))))) -> f_a4AZ (f_a4B0 (f_a4B1 (f_a4B2 (f_a4B3 (f_a4B4 (f_a4B5 (f_a4B6 (f_a4B7 (f_a4B8 (f_a4B9 (f_a4Ba (f_a4Bb b))))))))))))
- Data.Functor.Infix: (<$$$$$$$$$$$$>) :: (Functor f_a3go, Functor f_a3gp, Functor f_a3gq, Functor f_a3gr, Functor f_a3gs, Functor f_a3gt, Functor f_a3gu, Functor f_a3gv, Functor f_a3gw, Functor f_a3gx, Functor f_a3gy, Functor f_a3gz) => (a -> b) -> f_a3go (f_a3gp (f_a3gq (f_a3gr (f_a3gs (f_a3gt (f_a3gu (f_a3gv (f_a3gw (f_a3gx (f_a3gy (f_a3gz a))))))))))) -> f_a3go (f_a3gp (f_a3gq (f_a3gr (f_a3gs (f_a3gt (f_a3gu (f_a3gv (f_a3gw (f_a3gx (f_a3gy (f_a3gz b)))))))))))
+ Data.Functor.Infix: (<$$$$$$$$$$$$>) :: (Functor f_a4AN, Functor f_a4AO, Functor f_a4AP, Functor f_a4AQ, Functor f_a4AR, Functor f_a4AS, Functor f_a4AT, Functor f_a4AU, Functor f_a4AV, Functor f_a4AW, Functor f_a4AX, Functor f_a4AY) => (a -> b) -> f_a4AN (f_a4AO (f_a4AP (f_a4AQ (f_a4AR (f_a4AS (f_a4AT (f_a4AU (f_a4AV (f_a4AW (f_a4AX (f_a4AY a))))))))))) -> f_a4AN (f_a4AO (f_a4AP (f_a4AQ (f_a4AR (f_a4AS (f_a4AT (f_a4AU (f_a4AV (f_a4AW (f_a4AX (f_a4AY b)))))))))))
- Data.Functor.Infix: (<$$$$$$$$$$$>) :: (Functor f_a3gd, Functor f_a3ge, Functor f_a3gf, Functor f_a3gg, Functor f_a3gh, Functor f_a3gi, Functor f_a3gj, Functor f_a3gk, Functor f_a3gl, Functor f_a3gm, Functor f_a3gn) => (a -> b) -> f_a3gd (f_a3ge (f_a3gf (f_a3gg (f_a3gh (f_a3gi (f_a3gj (f_a3gk (f_a3gl (f_a3gm (f_a3gn a)))))))))) -> f_a3gd (f_a3ge (f_a3gf (f_a3gg (f_a3gh (f_a3gi (f_a3gj (f_a3gk (f_a3gl (f_a3gm (f_a3gn b))))))))))
+ Data.Functor.Infix: (<$$$$$$$$$$$>) :: (Functor f_a4AC, Functor f_a4AD, Functor f_a4AE, Functor f_a4AF, Functor f_a4AG, Functor f_a4AH, Functor f_a4AI, Functor f_a4AJ, Functor f_a4AK, Functor f_a4AL, Functor f_a4AM) => (a -> b) -> f_a4AC (f_a4AD (f_a4AE (f_a4AF (f_a4AG (f_a4AH (f_a4AI (f_a4AJ (f_a4AK (f_a4AL (f_a4AM a)))))))))) -> f_a4AC (f_a4AD (f_a4AE (f_a4AF (f_a4AG (f_a4AH (f_a4AI (f_a4AJ (f_a4AK (f_a4AL (f_a4AM b))))))))))
- Data.Functor.Infix: (<$$$$$$$$$$>) :: (Functor f_a3g3, Functor f_a3g4, Functor f_a3g5, Functor f_a3g6, Functor f_a3g7, Functor f_a3g8, Functor f_a3g9, Functor f_a3ga, Functor f_a3gb, Functor f_a3gc) => (a -> b) -> f_a3g3 (f_a3g4 (f_a3g5 (f_a3g6 (f_a3g7 (f_a3g8 (f_a3g9 (f_a3ga (f_a3gb (f_a3gc a))))))))) -> f_a3g3 (f_a3g4 (f_a3g5 (f_a3g6 (f_a3g7 (f_a3g8 (f_a3g9 (f_a3ga (f_a3gb (f_a3gc b)))))))))
+ Data.Functor.Infix: (<$$$$$$$$$$>) :: (Functor f_a4As, Functor f_a4At, Functor f_a4Au, Functor f_a4Av, Functor f_a4Aw, Functor f_a4Ax, Functor f_a4Ay, Functor f_a4Az, Functor f_a4AA, Functor f_a4AB) => (a -> b) -> f_a4As (f_a4At (f_a4Au (f_a4Av (f_a4Aw (f_a4Ax (f_a4Ay (f_a4Az (f_a4AA (f_a4AB a))))))))) -> f_a4As (f_a4At (f_a4Au (f_a4Av (f_a4Aw (f_a4Ax (f_a4Ay (f_a4Az (f_a4AA (f_a4AB b)))))))))
- Data.Functor.Infix: (<$$$$$$$$$>) :: (Functor f_a3fU, Functor f_a3fV, Functor f_a3fW, Functor f_a3fX, Functor f_a3fY, Functor f_a3fZ, Functor f_a3g0, Functor f_a3g1, Functor f_a3g2) => (a -> b) -> f_a3fU (f_a3fV (f_a3fW (f_a3fX (f_a3fY (f_a3fZ (f_a3g0 (f_a3g1 (f_a3g2 a)))))))) -> f_a3fU (f_a3fV (f_a3fW (f_a3fX (f_a3fY (f_a3fZ (f_a3g0 (f_a3g1 (f_a3g2 b))))))))
+ Data.Functor.Infix: (<$$$$$$$$$>) :: (Functor f_a4Aj, Functor f_a4Ak, Functor f_a4Al, Functor f_a4Am, Functor f_a4An, Functor f_a4Ao, Functor f_a4Ap, Functor f_a4Aq, Functor f_a4Ar) => (a -> b) -> f_a4Aj (f_a4Ak (f_a4Al (f_a4Am (f_a4An (f_a4Ao (f_a4Ap (f_a4Aq (f_a4Ar a)))))))) -> f_a4Aj (f_a4Ak (f_a4Al (f_a4Am (f_a4An (f_a4Ao (f_a4Ap (f_a4Aq (f_a4Ar b))))))))
- Data.Functor.Infix: (<$$$$$$$$>) :: (Functor f_a3fM, Functor f_a3fN, Functor f_a3fO, Functor f_a3fP, Functor f_a3fQ, Functor f_a3fR, Functor f_a3fS, Functor f_a3fT) => (a -> b) -> f_a3fM (f_a3fN (f_a3fO (f_a3fP (f_a3fQ (f_a3fR (f_a3fS (f_a3fT a))))))) -> f_a3fM (f_a3fN (f_a3fO (f_a3fP (f_a3fQ (f_a3fR (f_a3fS (f_a3fT b)))))))
+ Data.Functor.Infix: (<$$$$$$$$>) :: (Functor f_a4Ab, Functor f_a4Ac, Functor f_a4Ad, Functor f_a4Ae, Functor f_a4Af, Functor f_a4Ag, Functor f_a4Ah, Functor f_a4Ai) => (a -> b) -> f_a4Ab (f_a4Ac (f_a4Ad (f_a4Ae (f_a4Af (f_a4Ag (f_a4Ah (f_a4Ai a))))))) -> f_a4Ab (f_a4Ac (f_a4Ad (f_a4Ae (f_a4Af (f_a4Ag (f_a4Ah (f_a4Ai b)))))))
- Data.Functor.Infix: (<$$$$$$$>) :: (Functor f_a3fF, Functor f_a3fG, Functor f_a3fH, Functor f_a3fI, Functor f_a3fJ, Functor f_a3fK, Functor f_a3fL) => (a -> b) -> f_a3fF (f_a3fG (f_a3fH (f_a3fI (f_a3fJ (f_a3fK (f_a3fL a)))))) -> f_a3fF (f_a3fG (f_a3fH (f_a3fI (f_a3fJ (f_a3fK (f_a3fL b))))))
+ Data.Functor.Infix: (<$$$$$$$>) :: (Functor f_a4A4, Functor f_a4A5, Functor f_a4A6, Functor f_a4A7, Functor f_a4A8, Functor f_a4A9, Functor f_a4Aa) => (a -> b) -> f_a4A4 (f_a4A5 (f_a4A6 (f_a4A7 (f_a4A8 (f_a4A9 (f_a4Aa a)))))) -> f_a4A4 (f_a4A5 (f_a4A6 (f_a4A7 (f_a4A8 (f_a4A9 (f_a4Aa b))))))
- Data.Functor.Infix: (<$$$$$$>) :: (Functor f_a3fz, Functor f_a3fA, Functor f_a3fB, Functor f_a3fC, Functor f_a3fD, Functor f_a3fE) => (a -> b) -> f_a3fz (f_a3fA (f_a3fB (f_a3fC (f_a3fD (f_a3fE a))))) -> f_a3fz (f_a3fA (f_a3fB (f_a3fC (f_a3fD (f_a3fE b)))))
+ Data.Functor.Infix: (<$$$$$$>) :: (Functor f_a4zY, Functor f_a4zZ, Functor f_a4A0, Functor f_a4A1, Functor f_a4A2, Functor f_a4A3) => (a -> b) -> f_a4zY (f_a4zZ (f_a4A0 (f_a4A1 (f_a4A2 (f_a4A3 a))))) -> f_a4zY (f_a4zZ (f_a4A0 (f_a4A1 (f_a4A2 (f_a4A3 b)))))
- Data.Functor.Infix: (<$$$$$>) :: (Functor f_a3fu, Functor f_a3fv, Functor f_a3fw, Functor f_a3fx, Functor f_a3fy) => (a -> b) -> f_a3fu (f_a3fv (f_a3fw (f_a3fx (f_a3fy a)))) -> f_a3fu (f_a3fv (f_a3fw (f_a3fx (f_a3fy b))))
+ Data.Functor.Infix: (<$$$$$>) :: (Functor f_a4zT, Functor f_a4zU, Functor f_a4zV, Functor f_a4zW, Functor f_a4zX) => (a -> b) -> f_a4zT (f_a4zU (f_a4zV (f_a4zW (f_a4zX a)))) -> f_a4zT (f_a4zU (f_a4zV (f_a4zW (f_a4zX b))))
- Data.Functor.Infix: (<$$$$>) :: (Functor f_a3fq, Functor f_a3fr, Functor f_a3fs, Functor f_a3ft) => (a -> b) -> f_a3fq (f_a3fr (f_a3fs (f_a3ft a))) -> f_a3fq (f_a3fr (f_a3fs (f_a3ft b)))
+ Data.Functor.Infix: (<$$$$>) :: (Functor f_a4zP, Functor f_a4zQ, Functor f_a4zR, Functor f_a4zS) => (a -> b) -> f_a4zP (f_a4zQ (f_a4zR (f_a4zS a))) -> f_a4zP (f_a4zQ (f_a4zR (f_a4zS b)))
- Data.Functor.Infix: (<$$$>) :: (Functor f_a3fn, Functor f_a3fo, Functor f_a3fp) => (a -> b) -> f_a3fn (f_a3fo (f_a3fp a)) -> f_a3fn (f_a3fo (f_a3fp b))
+ Data.Functor.Infix: (<$$$>) :: (Functor f_a4zM, Functor f_a4zN, Functor f_a4zO) => (a -> b) -> f_a4zM (f_a4zN (f_a4zO a)) -> f_a4zM (f_a4zN (f_a4zO b))
- Data.Functor.Infix: (<$$>) :: (Functor f_a3fl, Functor f_a3fm) => (a -> b) -> f_a3fl (f_a3fm a) -> f_a3fl (f_a3fm b)
+ Data.Functor.Infix: (<$$>) :: (Functor f_a4zK, Functor f_a4zL) => (a -> b) -> f_a4zK (f_a4zL a) -> f_a4zK (f_a4zL b)
- Data.Functor.Infix: (<$>) :: Functor f_a3fk => (a -> b) -> f_a3fk a -> f_a3fk b
+ Data.Functor.Infix: (<$>) :: Functor f_a4zJ => (a -> b) -> f_a4zJ a -> f_a4zJ b
- Data.Functor.Infix: (<&&&&&&&&&&&&&&&&&&&&>) :: (Functor f_a3Fd, Functor f_a3Fe, Functor f_a3Ff, Functor f_a3Fg, Functor f_a3Fh, Functor f_a3Fi, Functor f_a3Fj, Functor f_a3Fk, Functor f_a3Fl, Functor f_a3Fm, Functor f_a3Fn, Functor f_a3Fo, Functor f_a3Fp, Functor f_a3Fq, Functor f_a3Fr, Functor f_a3Fs, Functor f_a3Ft, Functor f_a3Fu, Functor f_a3Fv, Functor f_a3Fw) => f_a3Fd (f_a3Fe (f_a3Ff (f_a3Fg (f_a3Fh (f_a3Fi (f_a3Fj (f_a3Fk (f_a3Fl (f_a3Fm (f_a3Fn (f_a3Fo (f_a3Fp (f_a3Fq (f_a3Fr (f_a3Fs (f_a3Ft (f_a3Fu (f_a3Fv (f_a3Fw a))))))))))))))))))) -> (a -> b) -> f_a3Fd (f_a3Fe (f_a3Ff (f_a3Fg (f_a3Fh (f_a3Fi (f_a3Fj (f_a3Fk (f_a3Fl (f_a3Fm (f_a3Fn (f_a3Fo (f_a3Fp (f_a3Fq (f_a3Fr (f_a3Fs (f_a3Ft (f_a3Fu (f_a3Fv (f_a3Fw b)))))))))))))))))))
+ Data.Functor.Infix: (<&&&&&&&&&&&&&&&&&&&&>) :: (Functor f_a5T9, Functor f_a5Ta, Functor f_a5Tb, Functor f_a5Tc, Functor f_a5Td, Functor f_a5Te, Functor f_a5Tf, Functor f_a5Tg, Functor f_a5Th, Functor f_a5Ti, Functor f_a5Tj, Functor f_a5Tk, Functor f_a5Tl, Functor f_a5Tm, Functor f_a5Tn, Functor f_a5To, Functor f_a5Tp, Functor f_a5Tq, Functor f_a5Tr, Functor f_a5Ts) => f_a5T9 (f_a5Ta (f_a5Tb (f_a5Tc (f_a5Td (f_a5Te (f_a5Tf (f_a5Tg (f_a5Th (f_a5Ti (f_a5Tj (f_a5Tk (f_a5Tl (f_a5Tm (f_a5Tn (f_a5To (f_a5Tp (f_a5Tq (f_a5Tr (f_a5Ts a))))))))))))))))))) -> (a -> b) -> f_a5T9 (f_a5Ta (f_a5Tb (f_a5Tc (f_a5Td (f_a5Te (f_a5Tf (f_a5Tg (f_a5Th (f_a5Ti (f_a5Tj (f_a5Tk (f_a5Tl (f_a5Tm (f_a5Tn (f_a5To (f_a5Tp (f_a5Tq (f_a5Tr (f_a5Ts b)))))))))))))))))))
- Data.Functor.Infix: (<&&&&&&&&&&&&&&&&&&&>) :: (Functor f_a3EU, Functor f_a3EV, Functor f_a3EW, Functor f_a3EX, Functor f_a3EY, Functor f_a3EZ, Functor f_a3F0, Functor f_a3F1, Functor f_a3F2, Functor f_a3F3, Functor f_a3F4, Functor f_a3F5, Functor f_a3F6, Functor f_a3F7, Functor f_a3F8, Functor f_a3F9, Functor f_a3Fa, Functor f_a3Fb, Functor f_a3Fc) => f_a3EU (f_a3EV (f_a3EW (f_a3EX (f_a3EY (f_a3EZ (f_a3F0 (f_a3F1 (f_a3F2 (f_a3F3 (f_a3F4 (f_a3F5 (f_a3F6 (f_a3F7 (f_a3F8 (f_a3F9 (f_a3Fa (f_a3Fb (f_a3Fc a)))))))))))))))))) -> (a -> b) -> f_a3EU (f_a3EV (f_a3EW (f_a3EX (f_a3EY (f_a3EZ (f_a3F0 (f_a3F1 (f_a3F2 (f_a3F3 (f_a3F4 (f_a3F5 (f_a3F6 (f_a3F7 (f_a3F8 (f_a3F9 (f_a3Fa (f_a3Fb (f_a3Fc b))))))))))))))))))
+ Data.Functor.Infix: (<&&&&&&&&&&&&&&&&&&&>) :: (Functor f_a5SQ, Functor f_a5SR, Functor f_a5SS, Functor f_a5ST, Functor f_a5SU, Functor f_a5SV, Functor f_a5SW, Functor f_a5SX, Functor f_a5SY, Functor f_a5SZ, Functor f_a5T0, Functor f_a5T1, Functor f_a5T2, Functor f_a5T3, Functor f_a5T4, Functor f_a5T5, Functor f_a5T6, Functor f_a5T7, Functor f_a5T8) => f_a5SQ (f_a5SR (f_a5SS (f_a5ST (f_a5SU (f_a5SV (f_a5SW (f_a5SX (f_a5SY (f_a5SZ (f_a5T0 (f_a5T1 (f_a5T2 (f_a5T3 (f_a5T4 (f_a5T5 (f_a5T6 (f_a5T7 (f_a5T8 a)))))))))))))))))) -> (a -> b) -> f_a5SQ (f_a5SR (f_a5SS (f_a5ST (f_a5SU (f_a5SV (f_a5SW (f_a5SX (f_a5SY (f_a5SZ (f_a5T0 (f_a5T1 (f_a5T2 (f_a5T3 (f_a5T4 (f_a5T5 (f_a5T6 (f_a5T7 (f_a5T8 b))))))))))))))))))
- Data.Functor.Infix: (<&&&&&&&&&&&&&&&&&&>) :: (Functor f_a3EC, Functor f_a3ED, Functor f_a3EE, Functor f_a3EF, Functor f_a3EG, Functor f_a3EH, Functor f_a3EI, Functor f_a3EJ, Functor f_a3EK, Functor f_a3EL, Functor f_a3EM, Functor f_a3EN, Functor f_a3EO, Functor f_a3EP, Functor f_a3EQ, Functor f_a3ER, Functor f_a3ES, Functor f_a3ET) => f_a3EC (f_a3ED (f_a3EE (f_a3EF (f_a3EG (f_a3EH (f_a3EI (f_a3EJ (f_a3EK (f_a3EL (f_a3EM (f_a3EN (f_a3EO (f_a3EP (f_a3EQ (f_a3ER (f_a3ES (f_a3ET a))))))))))))))))) -> (a -> b) -> f_a3EC (f_a3ED (f_a3EE (f_a3EF (f_a3EG (f_a3EH (f_a3EI (f_a3EJ (f_a3EK (f_a3EL (f_a3EM (f_a3EN (f_a3EO (f_a3EP (f_a3EQ (f_a3ER (f_a3ES (f_a3ET b)))))))))))))))))
+ Data.Functor.Infix: (<&&&&&&&&&&&&&&&&&&>) :: (Functor f_a5Sy, Functor f_a5Sz, Functor f_a5SA, Functor f_a5SB, Functor f_a5SC, Functor f_a5SD, Functor f_a5SE, Functor f_a5SF, Functor f_a5SG, Functor f_a5SH, Functor f_a5SI, Functor f_a5SJ, Functor f_a5SK, Functor f_a5SL, Functor f_a5SM, Functor f_a5SN, Functor f_a5SO, Functor f_a5SP) => f_a5Sy (f_a5Sz (f_a5SA (f_a5SB (f_a5SC (f_a5SD (f_a5SE (f_a5SF (f_a5SG (f_a5SH (f_a5SI (f_a5SJ (f_a5SK (f_a5SL (f_a5SM (f_a5SN (f_a5SO (f_a5SP a))))))))))))))))) -> (a -> b) -> f_a5Sy (f_a5Sz (f_a5SA (f_a5SB (f_a5SC (f_a5SD (f_a5SE (f_a5SF (f_a5SG (f_a5SH (f_a5SI (f_a5SJ (f_a5SK (f_a5SL (f_a5SM (f_a5SN (f_a5SO (f_a5SP b)))))))))))))))))
- Data.Functor.Infix: (<&&&&&&&&&&&&&&&&&>) :: (Functor f_a3El, Functor f_a3Em, Functor f_a3En, Functor f_a3Eo, Functor f_a3Ep, Functor f_a3Eq, Functor f_a3Er, Functor f_a3Es, Functor f_a3Et, Functor f_a3Eu, Functor f_a3Ev, Functor f_a3Ew, Functor f_a3Ex, Functor f_a3Ey, Functor f_a3Ez, Functor f_a3EA, Functor f_a3EB) => f_a3El (f_a3Em (f_a3En (f_a3Eo (f_a3Ep (f_a3Eq (f_a3Er (f_a3Es (f_a3Et (f_a3Eu (f_a3Ev (f_a3Ew (f_a3Ex (f_a3Ey (f_a3Ez (f_a3EA (f_a3EB a)))))))))))))))) -> (a -> b) -> f_a3El (f_a3Em (f_a3En (f_a3Eo (f_a3Ep (f_a3Eq (f_a3Er (f_a3Es (f_a3Et (f_a3Eu (f_a3Ev (f_a3Ew (f_a3Ex (f_a3Ey (f_a3Ez (f_a3EA (f_a3EB b))))))))))))))))
+ Data.Functor.Infix: (<&&&&&&&&&&&&&&&&&>) :: (Functor f_a5Sh, Functor f_a5Si, Functor f_a5Sj, Functor f_a5Sk, Functor f_a5Sl, Functor f_a5Sm, Functor f_a5Sn, Functor f_a5So, Functor f_a5Sp, Functor f_a5Sq, Functor f_a5Sr, Functor f_a5Ss, Functor f_a5St, Functor f_a5Su, Functor f_a5Sv, Functor f_a5Sw, Functor f_a5Sx) => f_a5Sh (f_a5Si (f_a5Sj (f_a5Sk (f_a5Sl (f_a5Sm (f_a5Sn (f_a5So (f_a5Sp (f_a5Sq (f_a5Sr (f_a5Ss (f_a5St (f_a5Su (f_a5Sv (f_a5Sw (f_a5Sx a)))))))))))))))) -> (a -> b) -> f_a5Sh (f_a5Si (f_a5Sj (f_a5Sk (f_a5Sl (f_a5Sm (f_a5Sn (f_a5So (f_a5Sp (f_a5Sq (f_a5Sr (f_a5Ss (f_a5St (f_a5Su (f_a5Sv (f_a5Sw (f_a5Sx b))))))))))))))))
- Data.Functor.Infix: (<&&&&&&&&&&&&&&&&>) :: (Functor f_a3E5, Functor f_a3E6, Functor f_a3E7, Functor f_a3E8, Functor f_a3E9, Functor f_a3Ea, Functor f_a3Eb, Functor f_a3Ec, Functor f_a3Ed, Functor f_a3Ee, Functor f_a3Ef, Functor f_a3Eg, Functor f_a3Eh, Functor f_a3Ei, Functor f_a3Ej, Functor f_a3Ek) => f_a3E5 (f_a3E6 (f_a3E7 (f_a3E8 (f_a3E9 (f_a3Ea (f_a3Eb (f_a3Ec (f_a3Ed (f_a3Ee (f_a3Ef (f_a3Eg (f_a3Eh (f_a3Ei (f_a3Ej (f_a3Ek a))))))))))))))) -> (a -> b) -> f_a3E5 (f_a3E6 (f_a3E7 (f_a3E8 (f_a3E9 (f_a3Ea (f_a3Eb (f_a3Ec (f_a3Ed (f_a3Ee (f_a3Ef (f_a3Eg (f_a3Eh (f_a3Ei (f_a3Ej (f_a3Ek b)))))))))))))))
+ Data.Functor.Infix: (<&&&&&&&&&&&&&&&&>) :: (Functor f_a5S1, Functor f_a5S2, Functor f_a5S3, Functor f_a5S4, Functor f_a5S5, Functor f_a5S6, Functor f_a5S7, Functor f_a5S8, Functor f_a5S9, Functor f_a5Sa, Functor f_a5Sb, Functor f_a5Sc, Functor f_a5Sd, Functor f_a5Se, Functor f_a5Sf, Functor f_a5Sg) => f_a5S1 (f_a5S2 (f_a5S3 (f_a5S4 (f_a5S5 (f_a5S6 (f_a5S7 (f_a5S8 (f_a5S9 (f_a5Sa (f_a5Sb (f_a5Sc (f_a5Sd (f_a5Se (f_a5Sf (f_a5Sg a))))))))))))))) -> (a -> b) -> f_a5S1 (f_a5S2 (f_a5S3 (f_a5S4 (f_a5S5 (f_a5S6 (f_a5S7 (f_a5S8 (f_a5S9 (f_a5Sa (f_a5Sb (f_a5Sc (f_a5Sd (f_a5Se (f_a5Sf (f_a5Sg b)))))))))))))))
- Data.Functor.Infix: (<&&&&&&&&&&&&&&&>) :: (Functor f_a3DQ, Functor f_a3DR, Functor f_a3DS, Functor f_a3DT, Functor f_a3DU, Functor f_a3DV, Functor f_a3DW, Functor f_a3DX, Functor f_a3DY, Functor f_a3DZ, Functor f_a3E0, Functor f_a3E1, Functor f_a3E2, Functor f_a3E3, Functor f_a3E4) => f_a3DQ (f_a3DR (f_a3DS (f_a3DT (f_a3DU (f_a3DV (f_a3DW (f_a3DX (f_a3DY (f_a3DZ (f_a3E0 (f_a3E1 (f_a3E2 (f_a3E3 (f_a3E4 a)))))))))))))) -> (a -> b) -> f_a3DQ (f_a3DR (f_a3DS (f_a3DT (f_a3DU (f_a3DV (f_a3DW (f_a3DX (f_a3DY (f_a3DZ (f_a3E0 (f_a3E1 (f_a3E2 (f_a3E3 (f_a3E4 b))))))))))))))
+ Data.Functor.Infix: (<&&&&&&&&&&&&&&&>) :: (Functor f_a5RM, Functor f_a5RN, Functor f_a5RO, Functor f_a5RP, Functor f_a5RQ, Functor f_a5RR, Functor f_a5RS, Functor f_a5RT, Functor f_a5RU, Functor f_a5RV, Functor f_a5RW, Functor f_a5RX, Functor f_a5RY, Functor f_a5RZ, Functor f_a5S0) => f_a5RM (f_a5RN (f_a5RO (f_a5RP (f_a5RQ (f_a5RR (f_a5RS (f_a5RT (f_a5RU (f_a5RV (f_a5RW (f_a5RX (f_a5RY (f_a5RZ (f_a5S0 a)))))))))))))) -> (a -> b) -> f_a5RM (f_a5RN (f_a5RO (f_a5RP (f_a5RQ (f_a5RR (f_a5RS (f_a5RT (f_a5RU (f_a5RV (f_a5RW (f_a5RX (f_a5RY (f_a5RZ (f_a5S0 b))))))))))))))
- Data.Functor.Infix: (<&&&&&&&&&&&&&&>) :: (Functor f_a3DC, Functor f_a3DD, Functor f_a3DE, Functor f_a3DF, Functor f_a3DG, Functor f_a3DH, Functor f_a3DI, Functor f_a3DJ, Functor f_a3DK, Functor f_a3DL, Functor f_a3DM, Functor f_a3DN, Functor f_a3DO, Functor f_a3DP) => f_a3DC (f_a3DD (f_a3DE (f_a3DF (f_a3DG (f_a3DH (f_a3DI (f_a3DJ (f_a3DK (f_a3DL (f_a3DM (f_a3DN (f_a3DO (f_a3DP a))))))))))))) -> (a -> b) -> f_a3DC (f_a3DD (f_a3DE (f_a3DF (f_a3DG (f_a3DH (f_a3DI (f_a3DJ (f_a3DK (f_a3DL (f_a3DM (f_a3DN (f_a3DO (f_a3DP b)))))))))))))
+ Data.Functor.Infix: (<&&&&&&&&&&&&&&>) :: (Functor f_a5Ry, Functor f_a5Rz, Functor f_a5RA, Functor f_a5RB, Functor f_a5RC, Functor f_a5RD, Functor f_a5RE, Functor f_a5RF, Functor f_a5RG, Functor f_a5RH, Functor f_a5RI, Functor f_a5RJ, Functor f_a5RK, Functor f_a5RL) => f_a5Ry (f_a5Rz (f_a5RA (f_a5RB (f_a5RC (f_a5RD (f_a5RE (f_a5RF (f_a5RG (f_a5RH (f_a5RI (f_a5RJ (f_a5RK (f_a5RL a))))))))))))) -> (a -> b) -> f_a5Ry (f_a5Rz (f_a5RA (f_a5RB (f_a5RC (f_a5RD (f_a5RE (f_a5RF (f_a5RG (f_a5RH (f_a5RI (f_a5RJ (f_a5RK (f_a5RL b)))))))))))))
- Data.Functor.Infix: (<&&&&&&&&&&&&&>) :: (Functor f_a3Dp, Functor f_a3Dq, Functor f_a3Dr, Functor f_a3Ds, Functor f_a3Dt, Functor f_a3Du, Functor f_a3Dv, Functor f_a3Dw, Functor f_a3Dx, Functor f_a3Dy, Functor f_a3Dz, Functor f_a3DA, Functor f_a3DB) => f_a3Dp (f_a3Dq (f_a3Dr (f_a3Ds (f_a3Dt (f_a3Du (f_a3Dv (f_a3Dw (f_a3Dx (f_a3Dy (f_a3Dz (f_a3DA (f_a3DB a)))))))))))) -> (a -> b) -> f_a3Dp (f_a3Dq (f_a3Dr (f_a3Ds (f_a3Dt (f_a3Du (f_a3Dv (f_a3Dw (f_a3Dx (f_a3Dy (f_a3Dz (f_a3DA (f_a3DB b))))))))))))
+ Data.Functor.Infix: (<&&&&&&&&&&&&&>) :: (Functor f_a5Rl, Functor f_a5Rm, Functor f_a5Rn, Functor f_a5Ro, Functor f_a5Rp, Functor f_a5Rq, Functor f_a5Rr, Functor f_a5Rs, Functor f_a5Rt, Functor f_a5Ru, Functor f_a5Rv, Functor f_a5Rw, Functor f_a5Rx) => f_a5Rl (f_a5Rm (f_a5Rn (f_a5Ro (f_a5Rp (f_a5Rq (f_a5Rr (f_a5Rs (f_a5Rt (f_a5Ru (f_a5Rv (f_a5Rw (f_a5Rx a)))))))))))) -> (a -> b) -> f_a5Rl (f_a5Rm (f_a5Rn (f_a5Ro (f_a5Rp (f_a5Rq (f_a5Rr (f_a5Rs (f_a5Rt (f_a5Ru (f_a5Rv (f_a5Rw (f_a5Rx b))))))))))))
- Data.Functor.Infix: (<&&&&&&&&&&&&>) :: (Functor f_a3Dd, Functor f_a3De, Functor f_a3Df, Functor f_a3Dg, Functor f_a3Dh, Functor f_a3Di, Functor f_a3Dj, Functor f_a3Dk, Functor f_a3Dl, Functor f_a3Dm, Functor f_a3Dn, Functor f_a3Do) => f_a3Dd (f_a3De (f_a3Df (f_a3Dg (f_a3Dh (f_a3Di (f_a3Dj (f_a3Dk (f_a3Dl (f_a3Dm (f_a3Dn (f_a3Do a))))))))))) -> (a -> b) -> f_a3Dd (f_a3De (f_a3Df (f_a3Dg (f_a3Dh (f_a3Di (f_a3Dj (f_a3Dk (f_a3Dl (f_a3Dm (f_a3Dn (f_a3Do b)))))))))))
+ Data.Functor.Infix: (<&&&&&&&&&&&&>) :: (Functor f_a5R9, Functor f_a5Ra, Functor f_a5Rb, Functor f_a5Rc, Functor f_a5Rd, Functor f_a5Re, Functor f_a5Rf, Functor f_a5Rg, Functor f_a5Rh, Functor f_a5Ri, Functor f_a5Rj, Functor f_a5Rk) => f_a5R9 (f_a5Ra (f_a5Rb (f_a5Rc (f_a5Rd (f_a5Re (f_a5Rf (f_a5Rg (f_a5Rh (f_a5Ri (f_a5Rj (f_a5Rk a))))))))))) -> (a -> b) -> f_a5R9 (f_a5Ra (f_a5Rb (f_a5Rc (f_a5Rd (f_a5Re (f_a5Rf (f_a5Rg (f_a5Rh (f_a5Ri (f_a5Rj (f_a5Rk b)))))))))))
- Data.Functor.Infix: (<&&&&&&&&&&&>) :: (Functor f_a3D2, Functor f_a3D3, Functor f_a3D4, Functor f_a3D5, Functor f_a3D6, Functor f_a3D7, Functor f_a3D8, Functor f_a3D9, Functor f_a3Da, Functor f_a3Db, Functor f_a3Dc) => f_a3D2 (f_a3D3 (f_a3D4 (f_a3D5 (f_a3D6 (f_a3D7 (f_a3D8 (f_a3D9 (f_a3Da (f_a3Db (f_a3Dc a)))))))))) -> (a -> b) -> f_a3D2 (f_a3D3 (f_a3D4 (f_a3D5 (f_a3D6 (f_a3D7 (f_a3D8 (f_a3D9 (f_a3Da (f_a3Db (f_a3Dc b))))))))))
+ Data.Functor.Infix: (<&&&&&&&&&&&>) :: (Functor f_a5QY, Functor f_a5QZ, Functor f_a5R0, Functor f_a5R1, Functor f_a5R2, Functor f_a5R3, Functor f_a5R4, Functor f_a5R5, Functor f_a5R6, Functor f_a5R7, Functor f_a5R8) => f_a5QY (f_a5QZ (f_a5R0 (f_a5R1 (f_a5R2 (f_a5R3 (f_a5R4 (f_a5R5 (f_a5R6 (f_a5R7 (f_a5R8 a)))))))))) -> (a -> b) -> f_a5QY (f_a5QZ (f_a5R0 (f_a5R1 (f_a5R2 (f_a5R3 (f_a5R4 (f_a5R5 (f_a5R6 (f_a5R7 (f_a5R8 b))))))))))
- Data.Functor.Infix: (<&&&&&&&&&&>) :: (Functor f_a3CS, Functor f_a3CT, Functor f_a3CU, Functor f_a3CV, Functor f_a3CW, Functor f_a3CX, Functor f_a3CY, Functor f_a3CZ, Functor f_a3D0, Functor f_a3D1) => f_a3CS (f_a3CT (f_a3CU (f_a3CV (f_a3CW (f_a3CX (f_a3CY (f_a3CZ (f_a3D0 (f_a3D1 a))))))))) -> (a -> b) -> f_a3CS (f_a3CT (f_a3CU (f_a3CV (f_a3CW (f_a3CX (f_a3CY (f_a3CZ (f_a3D0 (f_a3D1 b)))))))))
+ Data.Functor.Infix: (<&&&&&&&&&&>) :: (Functor f_a5QO, Functor f_a5QP, Functor f_a5QQ, Functor f_a5QR, Functor f_a5QS, Functor f_a5QT, Functor f_a5QU, Functor f_a5QV, Functor f_a5QW, Functor f_a5QX) => f_a5QO (f_a5QP (f_a5QQ (f_a5QR (f_a5QS (f_a5QT (f_a5QU (f_a5QV (f_a5QW (f_a5QX a))))))))) -> (a -> b) -> f_a5QO (f_a5QP (f_a5QQ (f_a5QR (f_a5QS (f_a5QT (f_a5QU (f_a5QV (f_a5QW (f_a5QX b)))))))))
- Data.Functor.Infix: (<&&&&&&&&&>) :: (Functor f_a3CJ, Functor f_a3CK, Functor f_a3CL, Functor f_a3CM, Functor f_a3CN, Functor f_a3CO, Functor f_a3CP, Functor f_a3CQ, Functor f_a3CR) => f_a3CJ (f_a3CK (f_a3CL (f_a3CM (f_a3CN (f_a3CO (f_a3CP (f_a3CQ (f_a3CR a)))))))) -> (a -> b) -> f_a3CJ (f_a3CK (f_a3CL (f_a3CM (f_a3CN (f_a3CO (f_a3CP (f_a3CQ (f_a3CR b))))))))
+ Data.Functor.Infix: (<&&&&&&&&&>) :: (Functor f_a5QF, Functor f_a5QG, Functor f_a5QH, Functor f_a5QI, Functor f_a5QJ, Functor f_a5QK, Functor f_a5QL, Functor f_a5QM, Functor f_a5QN) => f_a5QF (f_a5QG (f_a5QH (f_a5QI (f_a5QJ (f_a5QK (f_a5QL (f_a5QM (f_a5QN a)))))))) -> (a -> b) -> f_a5QF (f_a5QG (f_a5QH (f_a5QI (f_a5QJ (f_a5QK (f_a5QL (f_a5QM (f_a5QN b))))))))
- Data.Functor.Infix: (<&&&&&&&&>) :: (Functor f_a3CB, Functor f_a3CC, Functor f_a3CD, Functor f_a3CE, Functor f_a3CF, Functor f_a3CG, Functor f_a3CH, Functor f_a3CI) => f_a3CB (f_a3CC (f_a3CD (f_a3CE (f_a3CF (f_a3CG (f_a3CH (f_a3CI a))))))) -> (a -> b) -> f_a3CB (f_a3CC (f_a3CD (f_a3CE (f_a3CF (f_a3CG (f_a3CH (f_a3CI b)))))))
+ Data.Functor.Infix: (<&&&&&&&&>) :: (Functor f_a5Qx, Functor f_a5Qy, Functor f_a5Qz, Functor f_a5QA, Functor f_a5QB, Functor f_a5QC, Functor f_a5QD, Functor f_a5QE) => f_a5Qx (f_a5Qy (f_a5Qz (f_a5QA (f_a5QB (f_a5QC (f_a5QD (f_a5QE a))))))) -> (a -> b) -> f_a5Qx (f_a5Qy (f_a5Qz (f_a5QA (f_a5QB (f_a5QC (f_a5QD (f_a5QE b)))))))
- Data.Functor.Infix: (<&&&&&&&>) :: (Functor f_a3Cu, Functor f_a3Cv, Functor f_a3Cw, Functor f_a3Cx, Functor f_a3Cy, Functor f_a3Cz, Functor f_a3CA) => f_a3Cu (f_a3Cv (f_a3Cw (f_a3Cx (f_a3Cy (f_a3Cz (f_a3CA a)))))) -> (a -> b) -> f_a3Cu (f_a3Cv (f_a3Cw (f_a3Cx (f_a3Cy (f_a3Cz (f_a3CA b))))))
+ Data.Functor.Infix: (<&&&&&&&>) :: (Functor f_a5Qq, Functor f_a5Qr, Functor f_a5Qs, Functor f_a5Qt, Functor f_a5Qu, Functor f_a5Qv, Functor f_a5Qw) => f_a5Qq (f_a5Qr (f_a5Qs (f_a5Qt (f_a5Qu (f_a5Qv (f_a5Qw a)))))) -> (a -> b) -> f_a5Qq (f_a5Qr (f_a5Qs (f_a5Qt (f_a5Qu (f_a5Qv (f_a5Qw b))))))
- Data.Functor.Infix: (<&&&&&&>) :: (Functor f_a3Co, Functor f_a3Cp, Functor f_a3Cq, Functor f_a3Cr, Functor f_a3Cs, Functor f_a3Ct) => f_a3Co (f_a3Cp (f_a3Cq (f_a3Cr (f_a3Cs (f_a3Ct a))))) -> (a -> b) -> f_a3Co (f_a3Cp (f_a3Cq (f_a3Cr (f_a3Cs (f_a3Ct b)))))
+ Data.Functor.Infix: (<&&&&&&>) :: (Functor f_a5Qk, Functor f_a5Ql, Functor f_a5Qm, Functor f_a5Qn, Functor f_a5Qo, Functor f_a5Qp) => f_a5Qk (f_a5Ql (f_a5Qm (f_a5Qn (f_a5Qo (f_a5Qp a))))) -> (a -> b) -> f_a5Qk (f_a5Ql (f_a5Qm (f_a5Qn (f_a5Qo (f_a5Qp b)))))
- Data.Functor.Infix: (<&&&&&>) :: (Functor f_a3Cj, Functor f_a3Ck, Functor f_a3Cl, Functor f_a3Cm, Functor f_a3Cn) => f_a3Cj (f_a3Ck (f_a3Cl (f_a3Cm (f_a3Cn a)))) -> (a -> b) -> f_a3Cj (f_a3Ck (f_a3Cl (f_a3Cm (f_a3Cn b))))
+ Data.Functor.Infix: (<&&&&&>) :: (Functor f_a5Qf, Functor f_a5Qg, Functor f_a5Qh, Functor f_a5Qi, Functor f_a5Qj) => f_a5Qf (f_a5Qg (f_a5Qh (f_a5Qi (f_a5Qj a)))) -> (a -> b) -> f_a5Qf (f_a5Qg (f_a5Qh (f_a5Qi (f_a5Qj b))))
- Data.Functor.Infix: (<&&&&>) :: (Functor f_a3Cf, Functor f_a3Cg, Functor f_a3Ch, Functor f_a3Ci) => f_a3Cf (f_a3Cg (f_a3Ch (f_a3Ci a))) -> (a -> b) -> f_a3Cf (f_a3Cg (f_a3Ch (f_a3Ci b)))
+ Data.Functor.Infix: (<&&&&>) :: (Functor f_a5Qb, Functor f_a5Qc, Functor f_a5Qd, Functor f_a5Qe) => f_a5Qb (f_a5Qc (f_a5Qd (f_a5Qe a))) -> (a -> b) -> f_a5Qb (f_a5Qc (f_a5Qd (f_a5Qe b)))
- Data.Functor.Infix: (<&&&>) :: (Functor f_a3Cc, Functor f_a3Cd, Functor f_a3Ce) => f_a3Cc (f_a3Cd (f_a3Ce a)) -> (a -> b) -> f_a3Cc (f_a3Cd (f_a3Ce b))
+ Data.Functor.Infix: (<&&&>) :: (Functor f_a5Q8, Functor f_a5Q9, Functor f_a5Qa) => f_a5Q8 (f_a5Q9 (f_a5Qa a)) -> (a -> b) -> f_a5Q8 (f_a5Q9 (f_a5Qa b))
- Data.Functor.Infix: (<&&>) :: (Functor f_a3Ca, Functor f_a3Cb) => f_a3Ca (f_a3Cb a) -> (a -> b) -> f_a3Ca (f_a3Cb b)
+ Data.Functor.Infix: (<&&>) :: (Functor f_a5Q6, Functor f_a5Q7) => f_a5Q6 (f_a5Q7 a) -> (a -> b) -> f_a5Q6 (f_a5Q7 b)
- Data.Functor.Infix: (<&>) :: Functor f_a3C9 => f_a3C9 a -> (a -> b) -> f_a3C9 b
+ Data.Functor.Infix: (<&>) :: Functor f_a5Q5 => f_a5Q5 a -> (a -> b) -> f_a5Q5 b

Files

functor-infix.cabal view
@@ -1,7 +1,7 @@ name:   functor-infix version:-  0.0.1+  0.0.2 synopsis:   Compositions of functors. homepage:@@ -26,14 +26,11 @@     Data.Functor.Infix   other-modules:     Data.Functor.Infix.Definitions,-    Data.Functor.Infix.TH,-    Data.Functor.Infix.Utilities+    Data.Functor.Infix.TH   build-depends:-    base             == 4.*,-    template-haskell >= 2.8 && < 3.0+    base             >= 4.7 && < 4.9,+    template-haskell >= 2.8 && < 2.11   hs-source-dirs:     src   default-language:     Haskell2010-  ghc-options:-    -Wall -fno-warn-name-shadowing
src/Data/Functor/Infix.hs view
@@ -1,6 +1,6 @@-module Data.Functor.Infix (-  module Data.Functor.Infix.TH,-  module Data.Functor.Infix.Definitions+module Data.Functor.Infix+( module Data.Functor.Infix.Definitions+, module Data.Functor.Infix.TH ) where    import Data.Functor.Infix.TH
src/Data/Functor/Infix/Definitions.hs view
@@ -2,8 +2,8 @@  module Data.Functor.Infix.Definitions where -import Data.Functor.Infix.TH (declareInfixFmapN, declareInfixPamfN)-import Data.Functor.Infix.Utilities (concatMapM)+import Control.Monad (msum)+import Data.Functor.Infix.TH (declareInfixFmapForFunctorCompositionOfDegree, declareFlippedInfixFmapForFunctorCompositionOfDegree) -$(concatMapM declareInfixFmapN [1..20])-$(concatMapM declareInfixPamfN [1..20])+$(fmap msum $ mapM declareInfixFmapForFunctorCompositionOfDegree [1..20])+$(fmap msum $ mapM declareFlippedInfixFmapForFunctorCompositionOfDegree [1..20])
src/Data/Functor/Infix/TH.hs view
@@ -1,44 +1,70 @@-{-# LANGUAGE TemplateHaskell  #-}-{-# LANGUAGE TupleSections    #-}+{-# LANGUAGE CPP             #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TupleSections   #-}+{-# LANGUAGE PatternSynonyms #-} -module Data.Functor.Infix.TH (-  declareInfixFmapN,-  declareInfixPamfN+module Data.Functor.Infix.TH+( declareInfixFmapForFunctorCompositionOfDegree+, declareFlippedInfixFmapForFunctorCompositionOfDegree+, declareInfixFmapN+, declareInfixPamfN ) where -import Control.Applicative ((<$>), (<*>))+import Control.Applicative ((<$>), (<*>), pure) import Control.Monad (replicateM) import Language.Haskell.TH (Q, Exp(..), Type(..), Dec(..), Pat(..), TyVarBndr(..), Pred(..), Body(..), newName, mkName, Fixity(..), FixityDirection(..)) -declareInfixFmapN :: Int -> Q [Dec]-declareInfixFmapN = declareInfixN fmapExpN fmapTypeN (Fixity 4 InfixL) '$'+(~>) :: Type -> Type -> Type+x ~> y = AppT ArrowT x `AppT` y+infixr 0 ~> -fmapExpN :: Int -> Q Exp-fmapExpN n = do-  (idt, fmp) <- (,) <$> [|id|] <*> [|fmap|]-  return $ foldr (AppE . AppE fmp) idt (replicate n fmp)+fmapTypeOfDegree :: Int -> Q Type+fmapTypeOfDegree n = do+  names@(a:b:fs) <- (mkName "a":) <$> (mkName "b":) <$> replicateM n (newName "f")+  let variables = map PlainTV names+#if MIN_VERSION_template_haskell(2,10,0)+      constraints = AppT (ConT $ mkName "Functor") . VarT <$> fs+#else+      constraints = map (ClassP (mkName "Functor") . pure . VarT) fs+#endif+      wrap hask = foldr AppT (VarT hask) $ map VarT fs+      type_ = (VarT a ~> VarT b) ~> wrap a ~> wrap b+  pure $ ForallT variables constraints type_ -fmapTypeN :: Int -> Q Type-fmapTypeN n = do-  (varsAB, varsFu) <- ([mkName "a", mkName "b"],) <$> replicateM n (newName "f")-  let vrs = PlainTV <$> varsAB ++ varsFu-      cns = ClassP (mkName "Functor") . return . VarT <$> varsFu-      wrp = \n -> foldr AppT (VarT n) $ VarT <$> varsFu-      typ = AppT (AppT ArrowT (AppT (AppT ArrowT (VarT $ varsAB!!0)) (VarT $ varsAB!!1))) (AppT (AppT ArrowT . wrp $ varsAB!!0) (wrp $ varsAB!!1))-  return $ ForallT vrs cns typ+fmapExpressionOfDegree :: Int -> Q Exp+fmapExpressionOfDegree n = do+  (id_, fmap_) <- (,) <$> [|id|] <*> [|fmap|]+  pure $ foldr (AppE . AppE fmap_) id_ (replicate n fmap_) -declareInfixPamfN :: Int -> Q [Dec]-declareInfixPamfN = declareInfixN pamfExpN pamfTypeN (Fixity 1 InfixL) '&'+declareInfixWithDegree :: (Int -> Q Exp) -> (Int -> Q Type) -> Fixity -> Char -> (Int -> Q [Dec])+declareInfixWithDegree expressionOfDegree typeOfDegree fixity symbol n = do+  let name = mkName $ "<" ++ replicate n symbol ++ ">"+  (expression, type_) <- (,) <$> expressionOfDegree n <*> typeOfDegree n+  pure $ SigD name type_+       : ValD (VarP name) (NormalB expression) []+       : InfixD fixity name+       : [] -pamfExpN :: Int -> Q Exp-pamfExpN n = [|flip|] >>= \flip -> AppE flip <$> fmapExpN n+declareInfixFmapForFunctorCompositionOfDegree :: Int -> Q [Dec]+declareInfixFmapForFunctorCompositionOfDegree = declareInfixWithDegree fmapExpressionOfDegree fmapTypeOfDegree (Fixity 4 InfixL) '$' -pamfTypeN :: Int -> Q Type-pamfTypeN n = fmapTypeN n >>= \(ForallT crs wrp (AppT (AppT ArrowT ab) (AppT (AppT ArrowT x) y))) ->-  return $ ForallT crs wrp (AppT (AppT ArrowT x) (AppT (AppT ArrowT ab) y))+pattern x :> y = AppT ArrowT x `AppT` y -declareInfixN :: (Int -> Q Exp) -> (Int -> Q Type) -> Fixity -> Char -> Int -> Q [Dec]-declareInfixN expN typN fixity chr n = do-  let name = mkName $ "<" ++ replicate n chr ++ ">"-  (exp, typ) <- (,) <$> expN n <*> typN n-  return [SigD name typ, ValD (VarP name) (NormalB exp) [], InfixD fixity name]+(<$$>) :: Functor f => Functor g => (a -> b) -> f (g a) -> f (g b)+(<$$>) = fmap fmap fmap+infixl 1 <$$>++declareFlippedInfixFmapForFunctorCompositionOfDegree :: Int -> Q [Dec]+declareFlippedInfixFmapForFunctorCompositionOfDegree = do+  let flipExpression = AppE $ VarE (mkName "flip")+      flipType (ForallT variables constraints (a :> (b :> c))) = ForallT variables constraints (b ~> (a ~> c))+      flipType _ = error "The impossible happened!"+  declareInfixWithDegree (flipExpression <$$> fmapExpressionOfDegree) (flipType <$$> fmapTypeOfDegree) (Fixity 1 InfixL) '&'++{-# DEPRECATED declareInfixFmapN "Use 'declareInfixFmapForFunctorCompositionOfDegree' and/or reconsider your life choices." #-}+declareInfixFmapN :: Int -> Q [Dec]+declareInfixFmapN = declareInfixFmapForFunctorCompositionOfDegree++{-# DEPRECATED declareInfixPamfN "Use 'declareFlippedInfixFmapForFunctorCompositionOfDegree' and/or reconsider your life choices." #-}+declareInfixPamfN :: Int -> Q [Dec]+declareInfixPamfN = declareFlippedInfixFmapForFunctorCompositionOfDegree
− src/Data/Functor/Infix/Utilities.hs
@@ -1,6 +0,0 @@-module Data.Functor.Infix.Utilities (concatMapM) where--import Data.Monoid (Monoid(mconcat))--concatMapM :: Functor m => Monad m => Monoid b => (a -> m b) -> [a] -> m b-concatMapM = fmap (fmap mconcat) `fmap` mapM -- It'd be really convenient to have <$$$> here. ;-)