CTMCP 9章:関係プログラミング

第一部:一般的計算モデル の最終章、関係計算モデルです。論理型プログラミングを扱います。ちなみに第二部は特殊化された(Specialized)計算モデルで、GUIプログラミング、分散プログラミング、及び制約プログラミングを扱います。GUIプログラミングはあまり得るものがなさそうなので飛ばす予定。

要点

第一部:一般的計算モデルの最終章。この章では、これまで扱ってきた宣言的モデルの関数(一章〜四章など)という見方を一般化して関係に基づいた計算モデルを考える...(つづき

感想

 この章はすごいと思いました。ここまで来てようやく、どうしてデータフロー変数(まだ束縛されていない変数)などといったものが必要なのか、どうして手続きを使うのか、といった言語設計上の選択の全体的な理由が見えます(念の為に言うと、それまでにもちゃんと説明はありました)。関数的手続きを一般化すると関係的手続きになる、入力と出力を逆転させても解が出るというのは、実用上の制約はあるとはいえ、アイデアとしてすごい面白いですし、逆にそれまでのモデルがどういう実装上の制約に基づいているのかが分かります。非決定性選択と単一化であいまい性のある文法をさくっと解析するのも良かったです。