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.



関連ページ