実行環境セットアップ
次のブログを参考に進めました。
・Haskellを始めよう
http://d.hatena.ne.jp/nanntekotta/20100504/1272952476
次のサイトからWindows用のインストーラをダウンロード&インストール
Hugs
https://www.haskell.org/hugs/pages/downloading.htm
<追記>
Hugsは2006年以降更新が止まっているとのことで、GHCを使った方が良いとのこと
次のサイトより、Haskell platformを導入しました。以降はこちらを使う方針でいきます。
Haskell platform
https://www.haskell.org/platform/
動作確認
p12~p13のサンプルを動作させてみた。
・四則演算子(+ - * /)の動作確認 ⇒ 書籍通りの動作
・'div' ⇒ エラー、原因調査はまた今度
<追記>シングルクォートではなくバッククォートでした。`div`として書籍通りの動作を確認。
(@philopon様ありがとうございました。)
・↑ ⇒ べき乗演算子。付録Bを参考に^へ読み替えて動作確認
・head、tail 等の配列処理の関数? ⇒ 書籍通り動作
・ 1 `div` 0 ⇒ 書籍通りエラー(Program error: divide by zero)
・head[] ⇒ 書籍通りエラー(Program error: pattern match failure: head [])
関数適用
・Haskellでは関数の適用は単に空白文字を使う
・関数適用は他のすべての演算子より高い結合順位を持つ
⇒例えば、F a + b
は F(a) + b
と解釈される(Fは関数)
・F(g(x)
という風に関数を適用したい場合は、F(g x)
と書く
⇒F g x
と書くと F(g,x)
と解釈されてしまうので注意が必要
・``(バッククォート)で囲むと中値関数とすることができる
⇒たとえば、mod 7 2 を 7 `mod` 2と書くことができる
⇒引数が2つの場合のみ?
今日はここまで