Help us understand the problem. What is going on with this article?

Stackをhaskell-modeで使ってみよう

More than 3 years have passed since last update.

はじめに

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が出ているのでこの機会に試してみるのもおもしろいかもしれませんね :coffee:

参照URL

opt
"INNOVATION AGENCY" を標榜するインターネット広告代理店。エンジニア組織 "Opt Techonologies" を中心にアドテクetc...に取り組んでいます。
https://opt-technologies.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした