タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

Rubyと遅延評価に関するsiroccoのブックマーク (1)

  • Rubyのある風景 - Stream

    ある量xの時間変化を表すのに、普通はxという変数への代入を用いています。 というよりも代入という操作を認めたがために時間の変化を考えなくてはならなくなったと言っても良いかもしれません。 このような改まった言い方は変に聞こえるかもしれませんが、代入という操作は「副作用」とも表現されるように、色々と困った問題を引き起こすことも確かです。 例えば参照透明性(ある関数を引数を固定して呼ぶと、いつ何時も同じ値を返すという性質)を放棄せざるを得なくなるということ。 この結果、並列に動くプロセスを扱うことが非常に困難になってしまいます。 マルチスレッドなプログラムを作ったことがある人なら、このことについては大いに納得できることだと思います。 そこで発想を変えて、ある量xの変化はx(t)という一つの固定された時間の関数であり、時間tが流れることによってxが変化していくのだという風に考えてみてはどうでしょう

  • 1