プログラミングHaskell第2版 10章を読んだ

去年から社内で行なっている勉強会の続き。今回は10章対話プログラムについて学習した。 新しい概念としてアクションが登場したが、大部分はここまで学習した内容の応用なのでメモ程度に。

  • アクションをどのように純粋関数として解釈しているのか

    • Haskellでは「ある状態の世界」を引数にとり、「別の状態の世界」を結果として返す純粋な関数とみなしているらしい
  • 純粋関数とアクションの分離

    • 純粋関数内に副作用のあるアクションを混じらせることはできないが、副作用のあるアクションに純粋関数を呼び出すことはできる
    • 個別に作成した純粋関数をアクションに組み入れることによって、純粋関数と副作用のある処理を分離しているみたい
  • アクションの内部でアクションを再帰的に呼び出せるが、スタックオーバーフローしないの?

    • 謎、処理系、、
  • ライフゲームチューリング完全

    • 関数型関係ないけど。グライダーをうまく利用するとNANDゲートが作れるらしい

演習で作ったライフゲームがかなり面白かった。参加者の中にBASICでライフゲームを作った経験がある方がいて、おもしろ書籍を教えていただいた。

次回は11章!

参考