目次
GHCi[1]はGHCの対話環境であり、Haskellの式を対話的に評価したりプログラムを解釈実行したりできる。もしあなたがHugsに慣れ親しんでいるなら、GHCiの扱いにもすぐに慣れるだろう。しかしながら、GHCiはコンパイル済みコードをロードすることができ、また、GHCが提供する言語拡張の全て[2]をサポートする。また、GHCiには対話的デバッガが含まれている。(2.5. GHCiデバッガを見よ)
GHCiセッションの例を見ていくことから始めよう。GHCiはghci
コマンドで起動することができる。
$ ghci GHCi, version 6.12.1: 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>
GHCiがプレリュードと標準ライブラリをロードするのに少し時間が掛かるかもしれない。その後、プロンプトが表示される。バナーにある通り、:?
と打ち込めば利用可能なコマンド一覧と、それぞれの短い説明が得られる。これらの大部分はこれから説明する。また、全てのコマンドについての完全な文書が2.7. GHCiのコマンド群にある。
プロンプトでは、Haskellの式を入力することができる。
Prelude> 1+2 3 Prelude> let x = 42 in x / 9 4.666666666666667 Prelude>
GHCiは行全体を一つの式だと解釈し、それを評価する。式は複数の行に渡っていてはいけない。エンターキーが押されると、GHCiは即座にそれを評価しようとする。
Haskellでは、let
式にはin
が続く。しかし、GHCiでは、式はIO
モナドの中でも解釈され得るので、付属するin
文のないlet
束縛は、上の例のように空行を使うことで示すことができる。