Add PromotedInfixT/PromotedUInfixT to TH
As described in #20773 (closed), it is currently not possible to purely (or in IO - i.e. without Q) generate template haskell that dynamically binds a punned infix data constructor on the type level.
Thus e.g. libraries like haskell-src-meta
with functions like parseExp :: String -> Either String Exp
cannot properly support explicitly promoted infix constructors.
This commit adds promoted counterparts to InfixT
and UInfixT
, analogously to how PromotedT
is the promoted counterpart to ConT
.
Closes #20773 (closed)