Concurrent Clean : ハンドルから実体を取り出す

[id:lethevert:20070424:p2]の件だけど、サーバーをCleanで実装するとして、どうしたらよいのだろう?
いろいろ考えたけれど、ハンドル([id:lethevert:20070422:p2]の意味で)と実体を分離した場合、ハンドルを普通に純粋関数的に作ることは無理なんじゃないかと思う。
「普通に」というのは、適当な仕掛けを入れることで可能になりそうな気がするのでそう言っているのだけれど、一番の急所はまだ見えていない感じ。
直感的にはトポロジーと関係してそうな気がする。

      • -

今のところ考えているのは、2つのアプローチがあって、
1つは、システム組込のリポジトリがあって、ハンドルをキーにして実体を出し入れすることができ、複数のハンドル間でリポジトリを経由して情報を受け渡す。しかし、この方法はちっとも関数的ではないので、気にくわない。
もう1つは、Erlangのようなプロセスを導入して、クライアントとサーバーを別の流れに属させる。この場合、プロセスといっても、マルチタスクである必要はなくて、イベントドリブンで十分なんだと思う。

      • -

うーむ。書いていて思うけれど、とっても電波な文章だ・・・