FRPの双方向性もRDBのVIewのUpdateも明らかに常にできるわけではないけれども、常に出来るわけではないから役に立たないわけではなくて、いつ出来ていつ出来ないのかをはっきりさせたり、ヒントを与えることを可能にしていく必要があるということ
2014-12-04 14:01:26正規化されていないDBの更新が難しいことと、状態の更新を明示的に記述するのがダメなことを、形式的に同じロジックに従うとすれば、状態とはつまり正規化されていない冗長な情報であると言うことができる
2014-12-04 20:20:41人間の脳は状態をなんとなく辻褄が合うように更新する。間違っていても後で訂正すればさほど問題はない。それより(不完全であっても)情報の利用可能性のほうが重要なのだろう。
2014-12-04 20:34:46一方、ソフトウェアにおいて、なんとなく辻褄が合う、という曖昧なものは基本的に存在せず、システムとして矛盾のないように状態遷移する必要がある
2014-12-04 20:36:29状態マシンで実世界的な「状態」をモデル化するのは、かなり難しいと思う。実世界的な「状態」は冗長であるから、状態マシンが必然的に複雑になってしまう。
2014-12-04 20:53:53その点を踏まえると、現時点において状態を持つのは必然であると言えると思う。そのため、状態に注目するのではなく、矛盾のない状態遷移を(暗黙的に)記述できるかどうかに注目するほうが、現実的にうまくいく可能性がある、という結論になる
2014-12-04 21:15:47明示的な状態遷移の記述とは、記録してあったデータ(通常状態と呼ばれるもの)と、新しく手に入ったデータ(入力や他の状態)、この両方を元に、記録してあったデータとの差分、もしくは新しいデータそのものを計算する方法の記述だと言えると思います。 @nagise
2014-12-04 22:42:28可変な状態というものは、変化する前と後で、ある観点からは「同じもの」であるとみなせるもののことだと思うので、(暗黙的な場合もあるけれど)常になんらかの同一性の概念とセットなんだと思う。
2014-12-04 23:12:29@salmonsnare 私もそれは聞いたことがありますし、それはもっともだと思います。しかし、ここは文脈から、そのことにあえて懐疑的に考えてみたいというのと、自由の概念も固定されたものではないと考えているからでもあります。(しかし所謂相対主義的な考えを主張するわけではありません
2014-12-05 01:21:27@pokarim Clojure の作者の人が提唱してる "Epochal Time Model" に近い考え方かもしれませんね。 cs.ox.ac.uk/ralf.hinze/WG2…
2014-12-05 01:41:41@okapies まさに、そのp6あたりで"Epochal Time Model"というタイトルの付けられた図に登場する、Process events (pure functions) というところが、今回の議論で否定的な意見を述べたかった対象です。
2014-12-05 01:46:12@okapies つまり、その"Epochal Time Model"では、状態から次の状態の遷移を、純粋な関数として記述するようですが、それでは効果的でないのではないか、というのが今日主張したかったことです。
2014-12-05 01:47:40@pokarim あー、なるほど。ただ、ここでは v1〜v4 を一つの identity の継続として表現しているので、まさにおっしゃってる事と同じなのではと思ったのです。要は永続データ構造ですが。
2014-12-05 01:52:52