Haskell のインスタンス宣言に型シグネチャを記述できないのはなぜですか? 質問する

Haskell のインスタンス宣言に型シグネチャを記述できないのはなぜですか? 質問する

私はコード内のすべてのトップレベル定義に型署名を入れるのが好きです。しかし、インスタンス宣言の型署名は許可されていないようで、入れると GHC から「型署名が間違っています」というエラーが出ます。なぜそうなるのでしょうか? GHC はなぜ型署名が期待したものと同じかどうかをチェックできず、そうでない場合は拒否 (または警告) できないのでしょうか?

ベストアンサー1

[新しい]を使用してインスタンスの型シグネチャを追加できます。-Xインスタンスシグは、特に型変数をスコープ内に持ち込む場合に便利です。詳細については、公式ドキュメント

おすすめ記事