haskellの環境を構築(ubuntu10.10)
install haskell
最近のhaskellはghcを直接インストールするのではなく、haskell platformを利用すると良いそうです。
Download Haskell
haskell platformで何が入るのでしょう?
- コンパイラ(ghc,ghci)
- パッケージ管理システム(cabal)
- ドキュメントシステム(haddoc)
- デバッガ(The GHCi Debugger)
- 構文解析関係
- paraserジェネレータ(Happy)
- parseqじゃないんですね。
- lexier(Alex)
- paraserジェネレータ(Happy)
- FFI(hsc2hs)
- foreign language binding toolらしい。
- profiler(GHC Profiler)
- haskellのカバレッジ
- その他便利なライブラリ
だいたい必要そうなものが軒並み入る感じです。
まあ、面倒なのでaptを使ってインストールしていきます。(最新版とか気にするほど知識深くないですし)
aptを利用してhaskell platformをインストール
sudo aptitude install haskell-platform haskell-platform-doc
note:(haskell-platform-docでインストールされたdocumentはどこにある?)
大抵の場合/usr/share/doc以下にあります。
また、以下のコマンドを実行してみれば分かる通り、haskell-platform-docはghc6-docやlibghc6-*というパッケージに依存しています。
単純なvirtual-packageということですね。
apt-cache depends haskell-platform-doc dpkg --listfiles ghc6-doc dpkg --listfiles libghc6-cgi-doc
特に何も考えずに、ドキュメントを探したい場合には、以下のようなコマンドを実行するとよさそうです。
find /usr/share/doc -maxdepth 1 -name "*ghc*doc*"
エディタの環境の整備
haskell-mode.elとghc-mod.elを入れます。
sudo apt-get install haskell-mode cd ~/.emacs.d/3rdparty #各環境に合わせて変更 ## ghc-modとhlintのinstall cabal update cabal install ghc-mod hlint cd ~/.cabal/share/ghc-mod-x.y.z make cp ghc* ~/.emacs.d/3rdparty/ #それぞれの環境に合わせて変更 ## pathの設定 export PATH=$PATH:~/.cabal/bin echo 'export PATH=$PATH:~/.cabal/bin' >> ~/.zsrhc
.emacsの設定
.emacsに以下の設定を追加します。
;;for haskell-mode (autoload 'ghc-init "ghc" nil t) (defun haskell-individual-setup () (let ((mapping '(([f5] . "\C-c\C-l\C-x\omain\C-m\C-xo") ("\C-c\C-i" . ghc-complete) ([backtab] . haskell-indent-cycle)))) (loop for (key . f) in mapping do (define-key haskell-mode-map key f)) (turn-on-haskell-doc-mode) (turn-on-haskell-indent) (imenu-add-menubar-index) (ghc-init) (flymake-mode))) (add-hook 'haskell-mode-hook 'haskell-individual-setup)
利用
Metaチュートリアル - HaskellWikiのあたりみれば良いのかな?
*1:他のエディタを利用している人は参考になりませんね><