@@ -86,17 +86,84 @@
8686 - -XUndecidableInstances
8787 - -XRankNTypes
8888
89−- fixity: "infixr 5 <+^"
90−- fixity: "infixr 5 ^+>"
91−- fixity: "infixr 5 ^+^"
92−- fixity: "infixr 2 +++"
93−- fixity: "infixr 2 |||"
94−- fixity: "infixr 5 <+>"
95−- fixity: "infixr 3 ***"
96−- fixity: "infixr 3 &&&"
97−- fixity: "infixr 1 ^>>"
98−- fixity: "infixr 1 >>^"
99−- fixity: "infixr 1 ^<<"
100−- fixity: "infixr 1 <<^"
101−- fixity: "infixr 1 ^>^"
102−- fixity: "infixr 1 ^<^"
89+# hints found in src/Control/SemiIso.hs
90+- warn: {lhs: "SI (pure . a) (pure . b)", rhs: "siPure a b"}
91+- warn: {lhs: "SemiIso (pure . a) (pure . b)", rhs: "siPure a b"}
92+- warn: {lhs: "SemiIso (const empty) (const empty)", rhs: "zeroArrow"}
93+
94+# hints found in src/Control/Arrow/Extra.hs
95+- fixity: "infixl 5 <+^"
96+- fixity: "infixl 5 ^+>"
97+- fixity: "infixl 5 ^+^"
98+- warn: {lhs: "a <+> arr b", rhs: "a <+^ b"}
99+- warn: {lhs: "arr a <+> b", rhs: "a ^+> b"}
100+- warn: {lhs: "arr a <+> arr b", rhs: "a ^+^ b"}
101+
102+# hints found in src/Control/Arrow/Extra/ArrowChoice.hs
103+- fixity: "infixl 2 +++"
104+- fixity: "infixl 2 |||"
105+
106+# hints found in src/Control/Arrow/Extra/ArrowPlus.hs
107+- fixity: "infixl 5 <+>"
108+
109+# hints found in src/Control/Arrow/Extra/ArrowZero.hs
110+# no hints found
111+
112+# hints found in src/Control/Arrow/Extra/BaseArrow.hs
113+- fixity: "infixl 3 ***"
114+- fixity: "infixl 3 &&&"
115+- fixity: "infixl 1 >>>"
116+- fixity: "infixl 1 <<<"
117+
118+# hints found in src/Control/Arrow/Extra/Orphans.hs
119+# no hints found
120+
121+# hints found in src/Control/Arrow/Extra/PolyArrow.hs
122+- fixity: "infixl 1 ^>>"
123+- fixity: "infixl 1 >>^"
124+- fixity: "infixl 1 ^<<"
125+- fixity: "infixl 1 <<^"
126+- fixity: "infixl 1 ^>^"
127+- fixity: "infixl 1 ^<^"
128+- warn: {lhs: "arr a >>> arr b", rhs: "a ^>^ b"}
129+- warn: {lhs: "arr a <<< arr b", rhs: "a ^<^ b"}
130+- warn: {lhs: "arr a >>> b", rhs: "a ^>> b"}
131+- warn: {lhs: "a >>> arr b", rhs: "a >>^ b"}
132+- warn: {lhs: "a <<< arr b", rhs: "a <<^ b"}
133+- warn: {lhs: "arr a <<< b", rhs: "a ^<< b"}
134+
135+# hints found in src/Data/Isoparsec.hs
136+- warn: {lhs: "a <+^ konst ()", rhs: "opt a"}
137+- warn: {lhs: "(b >>^ turn (konst a)) <+^ konst ()", rhs: "opt' a b"}
138+- warn: {lhs: "(a &&& (repeating a <+^ konst [])) >>^ siCons", rhs: "repeating a"}
139+- fixity: "infixl 0 <.>"
140+- warn: {lhs: "(b >>^ morphed) >>^ si a", rhs: "a <.> b"}
141+- warn: {lhs: "siPure coerce coerce", rhs: "coercing"}
142+- warn: {lhs: "siPure morphTuples morphTuples", rhs: "morphed"}
143+- warn: {lhs: "auto @x >>^ turn (konst a)", rhs: "specific a"}
144+- warn: {lhs: "arr (siPure fromIntegral fromIntegral)", rhs: "throughIntegral"}
145+
146+# hints found in src/Data/Isoparsec/ByteString.hs
147+- warn: {lhs: "arr (siPure C.unpack C.pack)", rhs: "utf8"}
148+- warn: {lhs: "bytesToIsoparsec (Proxy @e) >>^ coercing @(Byte16 e) @Word16", rhs: "toIsoparsec"}
149+- warn: {lhs: "bytesToIsoparsec (Proxy @e) >>^ coercing @(Byte32 e) @Word32", rhs: "toIsoparsec"}
150+- warn: {lhs: "bytesToIsoparsec (Proxy @e) >>^ coercing @(Byte64 e) @Word64", rhs: "toIsoparsec"}
151+- warn: {lhs: "anyToken >>> mapIso [(0, False), (1, True)]", rhs: "toIsoparsec"}
152+
153+# hints found in src/Data/Isoparsec/Char.hs
154+- warn: {lhs: "token ' '", rhs: "space"}
155+- warn: {lhs: "tokensWhile isSpace >>^ ((maskr . turn . konst) mempty)", rhs: "unsafeWhiteSpace"}
156+- warn: {lhs: "tokensWhile1 isSpace >>^ ((maskr . turn . konst) (singleton ' '))", rhs: "unsafeWhiteSpace1"}
157+
158+# hints found in src/Data/Isoparsec/Cokleisli.hs
159+- warn: {lhs: "Cokleisli\n (\\ t ->\n case project a t of\n Just x -> return x\n Nothing -> mzero)", rhs: "arr a"}
160+- warn: {lhs: "Cokleisli (const mzero)", rhs: "zeroArrow"}
161+
162+# hints found in src/Data/Isoparsec/Internal.hs
163+- warn: {lhs: "((a &&& arrowsWhile a) >>^ siCons) <+^ isoConst () []", rhs: "arrowsWhile a"}
164+- warn: {lhs: "siMaybe (pure . uncurry cons) uncons", rhs: "siCons"}
165+- warn: {lhs: "SI (\\ c -> guard (a c) >> b c)\n (c >=> (\\ c -> guard (a c) >> pure c))", rhs: "siCheck a b c"}
166+- warn: {lhs: "siCheck a (pure . b) (pure . c)", rhs: "isoCheck a b c"}
167+- warn: {lhs: "SI (const (pure b)) (const (pure a))", rhs: "isoConst a b"}
168+- warn: {lhs: "isoCheck a id id", rhs: "check a"}
169+- warn: {lhs: "SI (const (pure a)) (const (pure ())) >>> check (== a)", rhs: "konst a"}