咳といいます。

RindaにLindaのevalを追加したいと思ってます。 
(1.8と1.9それぞれに)

Lindaのevalは新しいプロセスを生成して式を評価し、その結 
果をタプル
スペースへ投入するものです。
Rindaではブロックをforkしたプロセスで評価してその結果を 
タプルとして
投入するインターフェイスにするつもりです。


そこで新しいライブラリを追加するにあたって質問があります。

(1) forkをつかってもよいですか? たぶんWindowsで動 
作しません。
(2) ポータブルなテストがかけない気がしますが、なくてもかまい 
ませんか?
     open3とかどうしてるんだろ。

コードじたいはたぶんこんな↓感じです。

---
require 'drb/drb'
require 'rinda/rinda'

module Rinda
   class TupleSpace
     def rinda_eval(&blk)
       Rinda::rinda_eval(self, &blk)
     end
   end

   class TupleSpaceProxy
     def rinda_eval(&blk)
       Rinda::rinda_eval(@ts,  &blk)
     end
   end

   module_function
   def rinda_eval(ts)
     ts = DRbObject.new(ts) unless DRbObject === ts
     pid = fork do
       DRb.stop_service
       DRb.start_service('druby://127.0.0.1:0')
       place = TupleSpaceProxy.new(ts)
       tuple = yield(place)
       place.write(tuple)
     end
     Process.detach(pid)
   end
end