Haskellの型注釈を自動挿入

2013-03-08

静的型付き言語プログラマから見た動的型付き言語 - あどけない話 の「定義から書いて型注釈は自動挿入」というのをどうやるのか知らなかったのでググった。

ghc-modというのがそれらしい(これ自身kaz-yamamoto氏が作ったものだ)。emacs/vim上で型定義を挿入してくれる機能があるらしい。インストールの仕方などはHaskell 用の emacs カスタマイズ例 - わからんを参考にした。ghc-modの実行ファイルにパスを通すのをemacs上でやるんじゃなくてシェル上でしたほうがいいかと思ったのでそうした。cabalでインストールした実行ファイルは、自分の環境(Mac, ghc-7.4.2, cabal-install 1.16.0.2)では ~/Library/Haskell/bin/ だった。同様に、ghc-modに含まれるemacsスクリプトは ~/Library/Haskell/ghc-7.4.2/lib/ghc-mod-1.11.3/share/ にあるので、どこかいいところ (~/.emacs.d/elisp/ghc-mod/) にコピーしてmakeを実行。

あとは .emacs にいろいろ足して、型注釈を書いてない関数の上で M-t で自動挿入された。便利やわぁ…。さらにflymakeも便利やわぁ…。