はじめに
Stackをhaskell-modeで使えるように設定してみました。
StackはHaskellのビルドツールです。インストールはこちらを参照しました。
haskell-modeはEmacsのプラグインです。インストールはパッケージ管理ツールのpackage.elを使いました。
ここでは設定と簡単な使い方を紹介します。
設定
.emacs
などに下記のソースコードを追加します。
;; フックを設定
(add-hook 'haskell-mode-hook 'haskell-indentation-mode)
(add-hook 'haskell-mode-hook 'interactive-haskell-mode)
(add-hook 'haskell-mode-hook 'haskell-decl-scan-mode)
(add-hook 'haskell-mode-hook 'haskell-doc-mode)
;; (add-hook 'haskell-mode-hook 'view-mode)
(setq haskell-process-type 'stack-ghci)
(setq haskell-process-path-ghci "stack")
(setq haskell-process-args-ghci "ghci")
;; 環境変数PATHを設定しない場合は必要な設定
(add-to-list 'exec-path "~/stack-1.1.2-osx-x86_64")
考え方としてはstack
を経由させるという単純な考えです。
PATHを通せば不要になるものもあるかもしれませんが、こんな感じで使っています。
使い方
仕事で使っているわけではないので、C-c C-l
のみを使っています。このキーシーケンスはhaskell-process-load-file
コマンドを実行するキーシーケンスです。
使い方は適当にhsファイルなどを開き、C-c C-l
を押すだけです。
ほかにもたくさんの機能があるので、興味のあるかたはこちらを参照していただければと思います。
もしC-c C-c
などを使いたい場合はPATHを通してプロジェクトを作成する必要があります。
プロジェクトを作成するためには下記のようなコマンドを実行します。
$ stack new hello1106
$ cd hello1106
$ stack setup
もし、GHCのバージョンを指定したい場合は下記のようなコマンドを実行します。
$ stack new hello1106
$ cd hello1106
$ stack setup 8.0.1
まとめ
最近はHaskellを触ることが少ないのですが、GHCの8.0.1が出ているのでこの機会に試してみるのもおもしろいかもしれませんね