Haskell環境構築
Haskellの勉強をしてみようと思い、とりあえず環境構築についてまとめてみました。
基本的に技術評論社の[関数プログラミング実践入門](関数プログラミング実践入門 ──簡潔で、正しいコードを書くために (WEB+DB PRESS plus)
)に書かれている通りに進めました。
ちなみに関数プログラミングとか一切わからない状態で進めているので、言語解説的な内容は含みません。
Haskell Platform
Haskell Platformを使うのが一般的らしいです。
GHC(The Glasgow Haskell Compiler)を中心に標準的なライブラリが同梱されているとのことです。GHCはMacはもちろんWindows, Unixでも動作するそうです。
自分のプラットフォームに応じたパッケージをダウンロードします。
Macの場合はこんな感じのページ。
インストーラを使ってインストールすれば終わりです。
使ってみる
インストールするとインタープリタGHCiが使えるようになります。ghci
と入力するとインタープリタが起動します。
$ ghci
GHCi, version 7.8.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>
:?
でヘルプが表示されます。
Prelude> :?
お決まりのHello World
出力。
Prelude> "Hello World"
"Hello World"
標準ライブラリから簡単なものを
標準ライブラリがまとまっていたので、ちょっと触ってみます。
文字列は"++"で結合するみたいです。
Prelude> "Hello"++" "++"Haskell"
"Hello Haskell"
関数の呼び出しは関数名のあとに半角スペース入れるみたいです。括弧とかはいらないんですね。
Prelude> sqrt 2
1.4142135623730951
Prelude> truncate 3.33333333
3
出力。
Prelude> putStrLn "Hello"
Hello
複数I/Oアクションをつなげたい場合はdo{}
の中に;
でつなげてやればOKみたいです。
Prelude> do {putStr("42^2="); print(42^2)}
42^2=1764
まとめ
以上、こんな感じで軽く使ってみました。Swift触っていてちょっと関数型言語に興味がわいたので触れてみようと思い、そのための環境構築でした。
追記(2015/06/25 9:10)
Homebrewが入っていれば簡単にインストールできるそうです。
brew install ghc
こっちの方が簡単でいいですね。