by shigemk2

当面は技術的なことしか書かない

Scala関数型デザイン&プログラミング読書会@渋谷 まとめ #functional_shibuya

リンク

fancs.connpass.com

予習

www.shigemk2.com

前回

www.shigemk2.com

ここから今回の内容。

P97-P105まで。次回は6.4.1 状態アクションの結合から。

  • 乱数の生成
  • scala.util.Randomは極めて典型的な命令型のAPI
    • 状態の更新は副作用で、参照透過ではなく、モジュール性に乏しい
    • サイコロ乱数も0-5になったりするので、つらい
  • これの解決方法として、状態の更新を明示的なものにすると良い
    • 計算をプログラムの他の部分に対する通知から切り離す
  • API に実際に何かを変化させるのではなく、次の状態を計算させる
  • 状態の受け渡しをコンビネータにまかせて自動化

f:id:shigemk2:20150701001106p:plain

ログ

gist1fcc73061d211cd0bf03

書籍

Scala関数型デザイン&プログラミング ―Scalazコントリビューターによる関数型徹底ガイド (impress top gear)

Scala関数型デザイン&プログラミング ―Scalazコントリビューターによる関数型徹底ガイド (impress top gear)