Concurrent Clean : Re: 状態を表現する

[id:lethevert:20070422:p2]を書いた後に、すべてを純粋関数指向で書くにはどういうモデルを採用すればよいのかを考えていた。
昨日のモデルは、言うならば、クライアント/サーバーモデルという感じなわけだけれど、サーバー側(つまり世界の側)のプログラムを書くのに、さらに低レベルなサーバーを利用して書くことができる。そのようにして、低レベルから高レベルに至るまで、C/Sの層が積み上がる感じに書くことができるような気がする。

┌───┐ │ ┌───┐ │ ┌────┐ │ ┌──────┐
│ H/W │←│←│  OS  │←│←│Library │←│←│Application │
└───┘ │ └───┘ │ └────┘ │ └──────┘

図にしてみると普通の図だなぁ。
でも、OSレベルから純粋関数指向で書くことがなんとなくできそうな気がした。
今、C言語で書かなければいけないのは、パラダイムの違う世界との橋渡しが必要だからだものな。