2014年2月8日土曜日

[Haskell][Emacs]inferior-haskellで起動するghciにオプションを設定する

Emacsのhaskell-modeで、haskellのコードを書いている。
inferior-haskell-load-file(C-c C-l)で、ghciでコードをすぐに評価できるので便利である。
しかし、プラグマ指定で、
{-# LANGUAGE TypeSynonymInstances #-}
{-# LANGUAGE FlexibleInstances #-}
と書いて、
inferior-haskell-load-fileしても、Emacsから起動したghciでは、上記のオプションが有効になっておらず、エラーとなってしまった。
これに対処するには、inferior-haskellが起動するコマンドは、引数と一緒にhaskell-program-nameで設定できるので、以下のようにEmacsの初期化ファイルに書けばよい。
(setq haskell-program-name "ghci -XTypeSynonymInstances -XFlexibleInstances")