top page > computer > haskell > web_lecture > for_programmer > touch_ghci.html
更新日:
文責: 重城良国

GHCi: 対話環境に触れる

はじめに

Haskell Platformをインストールする。

GHCのチェック

ターミナルから以下のように入力する。先頭の%はターミナルへの入力であることを示す印なので入力しない。

% ghc --version
The Glorious Glasgow Haskell Compilation System, version X.Y.Z

X.Y.Zはバージョン番号だ。

対話環境の開始と終了

対話環境を立ち上げる。

% ghci
Prelude>

Prelude>はプロンプトだ。終わらせるにはプロンプトに:quitまたは:qとリターンキーを入力する。

Prelude> :quit

値の入力

値を入力する。

% ghci
Prelude> 4492
4492
Prelude> 'c'
'c'
Prelude> pi
3.141592653589793

対話環境は入力した式を評価し結果を表示する。4492や'c'はリテラルでそのまま表示される。piは定義済みの変数だ。円周率の値に束縛されている。

変数it

対話環境で評価した値は自動的に変数itを束縛する。

Prelude> 344925345991 * 36251192382
12503955074947653440562

演算子(*)は乗算だ。返された結果に15をかける。

Prelude> it * 15
187559326124214801608430

定義ファイルの読み込み

学習の流れ

  1. 関数定義のファイルを作成
  2. 対話環境(GHCi)に読み込む
  3. 値を評価し結果を表示
  4. ファイルを編集
  5. 再読み込み
  6. 値を評価し結果を表示
  7. 4から6をくりかえす

リンゴが好き

練習だ。まずfruits.hsを作成する。

fruits.hs

myFavoriteFruit = "apple"

ファイル名を引数に指定しghciを立ち上げる。

ghci fruits.hs
*Main>

myFavoriteFruitとリターンキーを入力する。

*Main> myFavoriteFruit
"apple"

バナナが好き

リンゴよりもバナナのほうが好きだ。対話環境はそのまま走らせておきエディタでfruit.hsを編集する。

fruits.hs

myFavoriteFruit = "banana"

*Main> myFavoriteFruit
"apple"

変更が反映されない!再読み込みが必要だ。:reloadか:rを入力する。

*Main> :reload
*Main> myFavoriteFruit
"banana"

まとめ

Haskell Platformには、コンパイラ、インタプリタ、対話環境だけでなく、パッケージ管理ソフトやドキュメントの自動生成ソフト、標準的なライブラリが入っている。入出力について学ぶまでは対話環境で学習を進める。対話環境はghciコマンドで開始し:qで終了する。定義ファイルを読み込むにはファイル名を引数にしてghciを立ち上げる。ファイルを編集したら:reloadで再読み込みする。

課題

  1. ghciを立ち上げて自分の生まれた日を入力せよ
  2. 自分の名前のイニシャル(1文字)を入力せよ
  3. ファイルを作成しmyFavoriteColor変数を定義せよ

「関数とは何か」へもどる 「関数を作る」へ

正当なCSSです! HTML5 Powered with CSS3 / styling, and Semantics