GHCのTyped Holes機能で、式中の部分の型を推論させる

Posted by takenbu.hs on August 8, 2017

最近はあまり話題になってないかもしれませんが、 Typed holes 機能についての紹介です。

ghc7.8くらいの頃に導入された機能で、ソースコードの式の中に __ で始まる識別名を書くと、その部分の型を推論してくれます。

使い方

例えば、

のようなコードを書いて、 runghcghcighcで実行すると、 _ 部の型をエラーメッセージで教えてくれます。

エラーメッセージの表示例

例えば、以下のようにエラーメッセージが表示されます。 以下の例では、_部が、Double型であることを示しています。

補足1

_ の替りに、 _hoge のように名前付けしても構いません。

ghci で、 :t で型を調べるのと同じように気軽に使えます。 (最近はIDEがサポートしていて、明示的には使わなかったりするかもしれません。)

補足2

詳細情報は以下にあります。