haskell-jp / questions #99 at 2021-12-01 13:10:43 +0900

pattern synonyms は便利なんですが、以下の例では Show インスタンスが冗長に感じます。自動生成する方法はありませんか?

newtype Error = Error Int
pattern InternalError = Error 1
instance Show Error where
  show (Error 1) = "InternalError"
ちょっと聞いたことがないです。Template Haskellでも使ってライブラリー作るしかないんじゃないっすかね... :disappointed:
パターンシノニムは、シノニムというだけあり、Typableのように概念から値を引き出すことができないので、Template Haskellなどを使う必要があると思います