Haskell-インストール
Haskellコンパイラについて
Haskellの処理系として有名なものは以下の2つです。
ディスク容量に余裕があればGHCのインストールをオススメします。
GHC(Glasgow Haskell Compiler)
GHCは、Haskellのデファクトスタンダードの処理系です。
コンパイラ(GHC)とインタプリタ (GHCi)がセットされています。
Windows、Mac、Linuxなどのプラットフォーム向けパッケージが公式サイトから提供されています。
ソースコードやバイナリの取得は以下のURLとなります。
Hugs
Haskellのインタプリタ。
GHCより軽量ですが、コンパイラは付随していません。
MacでGHCのインストール
パッケージをダウンロードする。
Mac向けパッケージが公式サイトから提供されています。
GHC本体をインストールする。
dmgを起動(マウント)して、ウィザードに従ってインストールします。
- 「Install new GHC」のパッケージをインストールします。
- 「Install platform」のパッケージをインストールします。
以上でインストールは終了です。
注意点
MacportsからGHCをインストールすることも可能です。
ただし、ビルドなど行われるため、数時間くらいのインストール時間が必要となります。
$ sudo port search ghc
$ sudo port install ghc
GHC操作方法
GHCでは、対話式インタプリタ、スクリプト実行、コンパイル実行という3つの実行形式が提供されています。
対話式インタプリタ(ghci)の実行
ghciコマンドで、インタプリタ用のプロンプトが起動します。
ghciを終了するにはプロンプトに「:quit」もしくは「Ctrl-D」を入力します。
$ ghci
GHCi, version 6.12.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.
Loading package ffi-1.0 ... linking ... done.
Prelude> putStrLn "Hello, Hasskell."
Hello, Hasskell.
Prelude> :q
Leaving GHCi.
ghciの主要オプションは以下の通りです。
コマンド | 意味 |
---|---|
:h | ヘルプメッセージの表示 |
:l file | fileの読み込み |
:t obj | objの型の表示 |
:q | 終了 |
コンパイル(ghc)
ghcコマンドは、ネイティブコードを生成する最適化コンパイラです。
拡張子「.hs」をソースファイルとしてコンパイルします。
$ cat hello.hs
main = putStrLn "Hello, Haskell."
$ ghc --make hello.hs
$ ./hello
Hello, Haskell.
gccのように「-o」オプションで生成後のバイナリ名を指定することも可能です。
$ ghc -o hello hello.hs
スクリプトの実行(runghc)
Haskellソースファイルをスクリプトとして実行します。
$ cat hello.hs
main = putStrLn "Hello, Haskell."
$ runghc hello.hs
Hello, Haskell.
ファイル先頭行に「runghc」のパスを記述して、スクリプトに実行権限を与えることで、実行ファイルとすることが可能です。
$ cat hello.hs
#!/usr/bin/env runghc
main = putStrLn "Hello, Haskell."
$ chmod 755 hello.hs
$ ./hello.hs
Hello, Haskell.