What's so bad about Template Haskell?

Es scheint, dass Template Haskell von der Haskell-Community oft als unglückliche Annehmlichkeit angesehen wird. Es ist schwierig, genau das in Worte zu fassen, was ich in dieser Hinsicht beobachtet habe, aber betrachten Sie diese wenigen Beispiele

Vorlage Haskell unter "The Ugly (aber notwendig)" als Antwort auf die Frage aufgeführtWelche Haskell (GHC) -Erweiterungen sollten Benutzer verwenden / vermeiden?Vorlage Haskell betrachtete eine vorübergehende / minderwertige Lösung inUnboxed Vektoren mit neuen Werten Thread (Bibliotheks-Mailingliste)Yesod wird oft dafür kritisiert, dass er sich zu sehr auf Template Haskell verlässt (sieheder Blogbeitrag als Antwort auf dieses Gefühl)

Ich habe verschiedene Blog-Posts gesehen, in denen Leute mit Template Haskell ziemlich nette Sachen machen, die eine schönere Syntax ermöglichen, die in regulären Haskell einfach nicht möglich wäre, sowie eine enorme Reduzierung der Boilerplate. Warum wird Template Haskell auf diese Weise herabgeschaut? Was macht es unerwünscht? Unter welchen Umständen sollte Template Haskell vermieden werden und warum?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage