macでHaskell環境構築メモ
動機
新言語Swiftとか色々な言語でで関数型プログラミングをサポートし始めたので、ちょっとかじっておきたかった。
学ぶなら純粋関数型言語ということで、言語はHaskellにしますた。
参考書はプログラミングHaskell。
訳者のサポートページhttp://www.mew.org/~kazu/doc/book/haskell.html
中古で買ったので、結構書き込みがあった。
ざっと読んだかんじだと、他言語の入門書のような感じではなく、
少しアカデミックな(高専とか大学で使う教科書のような)感じ。
(他のHaskellの本がどんな感じかは知りませんが)
まだ、そんなに読んでませんが日本語訳は非常に読みやすいです。
コンパイル 実行環境
コンパイラ
GHC(Glasgow Haskell Compiler)というのが主流っぽい。
バイナリ(コンパイラ)とインタラクティブシェル(インタプリタ)両方ある。
Hugsというのもあるけどこちらはインタプリタだけで軽量らしい。
brew update
brew upgrade
brew install ghc haskell-platform
↑を試みたがビルドで失敗してるっぽい。
Marvericksだとgccがclangのエイリアスになってたような気がしたので、
brew install https://raw.github.com/Homebrew/homebrew-dupes/master/apple-gcc42.rb alias gcc=gcc-4.2
を試したが、駄目でした。
適当にググって他に依存してそうなものをインストールし直してみたけどやはり駄目。
結局、http://www.haskell.org/platform/mac.html においてあるpkgをDLしてインスコ。
はじめからそうすれば良かった...
パッケージと同じページにclangの件対処用スクリプトがあるので↓みたいな感じで実行
sudo cp ghc-clang-wrapper <mydir> #<mydir>=/usr/binとか cd <mydir> sudo chmod 0755 ghc-clang-wrapper sudo ghc-clang-wrapper
動作テスト
コンソールで実行できるかテスト.
ghciでインタラクティブに実行できる。
おわるときは:quit.
とりあえず、お決まりのハロワ。行ったこと無いけど。
$ ghci GHCi, version 7.6.3: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ... linking ... done. Loading package integer-gmp ... linking ... done. Loading package base ... linking ... done. Prelude> "Hello Work" "Hello Work" Prelude> :quit Leaving GHCi.
Haskell IDE
Eclipseが既に入ってあったので、eclipseFP(Functional programming support for Eclipse) を使ってみた。
新しいソフトウェアのインストールから http://eclipsefp.sf.net/updates を入力してインストール。
プロジェクトを作って、src/Main.shにハロワを書いて実行してみる
main = print("Hello Work.")
コンソールでmainと打つと、ハロワが表示される。
めでたし。めでたし。
Eclipse以外にもいくつかIDEがあるけど(そっちの方がメジャー?)
とりあえず動かしたいだけだったのでeclipseFPだけでいいかな。