読者です 読者をやめる 読者になる 読者になる

関数プログラミング実践入門 【読書記録 0章】

Haskell
  • 「状態」を参照し,あるいは「状態」に変化を与えることで次回以降の結果にまで影響を与える効果のことを副作用と呼ぶ.副作用を持つ手続きは数学的な意味での「関数」では無い.
  • 関数プログラミングにおける関数は,入力だけから出力が決定しそれ以外の要因によらない.つまり副作用を持たいないため,「プログラムを構成する部品」としての独立性は良好.
  • 代入がなく束縛しかないということは
    • 値が入っていないということがないため,NULLチェックのような本質的でない処理を書く必要が無い
    • 値が変わってしまっていることがないので,本当に着目したい処理の前後で何をやっても気にする必要がない.
  • 純粋とは,同じ式はいつ評価しても同じ結果になる参照透過性という性質を持っていること.純粋ならば,ある変数を参照したときや関数を値に適用したときの結果は常に同じ.副作用がなければ参照透過になる.
  • 言語仕様で定義されていないい動作を発生させないことを安全性と言う.この安全性に対し,型検査に成功すれば安全性が保証される型付けを強い型付けという.