Wie kann Haskell-Quasiquotation zum Ersetzen von Token auf Haskell-Ebene verwendet werden?

Quasiquotation wie in beschriebenhaskellwiki wird meistens als nützliches Werkzeug zum Einbetten anderer Sprachen in Haskell gezeigt, ohne mit dem Anführungszeichen herumzuspielen.

Die Frage ist: Wie einfach wäre es für Haskell selbst, vorhandenen Haskell-Code durch einen Quasiquoter zu schicken, um nur Token zu ersetzen und das Ergebnis an ghc zu übergeben? Vielleicht ist Template Haskell hier der Schlüssel?

Ich habe nach Codebeispielen gesucht und keine gefunden. Einige EDSLs können von dieser Fähigkeit profitieren, indem sie die Größe ihrer kombinierenden Operatoren verringern (z. B. 'a. |. B. >>. C' in '[myedsl | a | b >> c]').

Antworten auf die Frage(1)

Ihre Antwort auf die Frage