LoginSignup
2
1

More than 5 years have passed since last update.

【自習記録】プログラミングHaskell 第2章

Last updated at Posted at 2015-03-18

実行環境セットアップ

次のブログを参考に進めました。
・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 + bF(a) + b と解釈される(Fは関数)
F(g(x) という風に関数を適用したい場合は、F(g x)と書く
 ⇒F g x と書くと F(g,x) と解釈されてしまうので注意が必要
・``(バッククォート)で囲むと中値関数とすることができる
 ⇒たとえば、mod 7 2 を 7 `mod` 2と書くことができる
  ⇒引数が2つの場合のみ?

今日はここまで

2
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1