Haskell(+ IDE)インストール

information

version date memo
1.0 2012/08/11 first
1.1-1.5 2012/11/04

目的

HaskellIDE(@Ubuntu)の検討。
候補としては、以下の2つ
Leksah, Eclipse
Emacs(2012/8/15追加)
wxHaskell(2012/08/27追加)

バージョン

Ubuntu 11.04
Leksah 0.8.0.6
Eclipse 4.2
ghc-7.4.1
ghc-6.12.3

GHC

GHC6インストール

Ubuntu 11.04のapt-getからインストール。
ついでに、haskell-platformもインストール

sudo apt-get install ghc6
sudo apt-get install haskell-platform
GHC7インストール

GHCのインストール(7.4.1)
自分のOSにより32/64bitの切り替え(i386/x86_64)は適時行う事。

http://d.hatena.ne.jp/kazu-yamamoto/20120607/1339045616

GHCインストール時コマンド↓

sudo wget http://www.haskell.org/ghc/dist/7.4.1/ghc-7.4.1-i386-unknown-linux.tar.bz2
chmod username:username ghc-7.4.1-i386-unknown-linux.tar.bz2
bzip2 -dc ghc-7.4.1-i386-unknown-linux.tar.bz2 | tar xvf - 
cd ghc-7.4.1
./configure --prefix=インストールフォルダパス
make install

haskell-platformのインストールができなかった。
善く分からないが、ghcコマンドのパスが反応してくれなかった模様。(2012/08/14)

Leksah

プログラム実行

以下のサイトで解説している。
サイト1の方が詳しく解説しているが、「Main.hs」の追加の箇所が上手く行かなかった。
テストプログラムの作成に関しては、サイト2の方を参考にするとよいと思う。

解説サイト1

http://neue.cc/2010/01/04_233.html

解説サイト2

http://d.hatena.ne.jp/wvogel00/20111025/1319549906

原因が特定できなかったが、プログラムの実行ができなかった。
また、0.8.0.6以降のバージョンでは、Linux系のサポートがなくなった?みたいなので、セットアップを断念した。(2012/08/11)

※ 0.8系にはキーバインドの変更が無い?(見当たらなかった)

Eclipse

プログラム実行

上記のEclipseプラグインインストール時の記事を参照の事。
但し、Eclipseの設定に以下を追加。
[Window]→[Preferences]→[Haskell]→[Haskell Implementation]に上記でインストールしたghc-7.4.1のbinのパスを追加

Emacs

haskell用emacsカスタマイズ参考リンク

http://d.hatena.ne.jp/kitokitoki/20111217/p1

cabal系は参考ページでインストールを行った。

# ↓sudo を入れたら上手く行った。
cabal apt-get install cabal-install

ghc-modは、上手くインストールできなかったので、debファイルからインストールを行った。
最初に多倍長精度ライブラリをインストールし、その後でghc-modパッケージをインストールした。

多倍長精度演算ライブラリ

http://packages.debian.org/ja/sid/i386/libgmp10/download

ghc-modパッケージ

http://packages.debian.org/ja/sid/ghc-mod

上記参考リンクのghc-modの設定で、「ghc-browse-document()」云々のコードを記述すると、エラーが出たので取りあえず、書かない事にした。

2012/10/24追記
2012/11/04追記
UbuntuのVersionを12に変更。

# cabal系のインストールはやっておく
sudo apt-get install cabal
# これで、ghc-7.4.1がインストールされる
sudo apt-get install haskell-platform
# 今回はsudoが要らなかった
cabal apt-get install cabal-install

ghc-modは、~/.cabal/binにあるのでパスでも通せば良い。

anything.elのインストール

http://d.hatena.ne.jp/rubikitch/20100718/anything

※ auto-installの設定はやっておく事。
※ (注意) C-c C-cは毎回(複数回)行う事。

"ghc-resolve-package"が見つからない的なメッセージが出る場合
このモジュール(関数?)を含むファイルをロードしていない事が原因。
egrepで検索すると ghc-mod-1.11.1/elisp/ghc-doc.el に存在する事がわかるので、次の文を追加。

; フォルダをロードパスに加えてない場合は以下も追加
; ※ 尚、ファイルパスは適時変更の事。
(add-to-list 'load-path "~/.emacs.d/ghc-mod-1.11.1")
; 次の文を追加する
(require 'ghc-doc)

ghc-modのコマンド一覧(公式サイト)

http://www.mew.org/~kazu/proj/ghc-mod/en/

所感

Leksahは使い方が善く分からないので、Give up.
Eclipseはインタフェースがイマイチ。地味に使い辛い。(コンソール画面に移動する必要があるのが痛い。あとTerminateのショートカットが利かない点も痛い。)
Emacsの検討は、まだしてないが、Emacsが一番良いのではないかと思う。
Emacs一択かなぁ...