Skip to content

Add PromotedInfixT/PromotedUInfixT to TH

Jakob Brünker requested to merge wip/T20773 into master

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)

Edited by Jakob Brünker

Merge request reports