In message <199802170755.QAA25213 / picachu.netlab.co.jp>
matz / netlab.co.jp (Yukihiro Matsumoto) writes:

> |  Description:
> |    * actor のようなものを実現してみました.
> 
> うう,なんかすごいぞ.どう応用したら良いのか分からないのがま
> すますすごいぞ.^^;;;
> # Actorの勉強しとけば良かったか.

  ですよね....完全に趣味の世界. 役に立てようとも思ってないし (^^;
  actor といいつつ同期通信がある....それどころか

    res = send(obj, :meth, *arg)
    some_time_consuming_process
    res.value

  なんて future call までできますね. なぞ.

  ちなみに「ABCL/f の linearizable オブジェクト」というのはオブジェク
  トを二段の間接参照で扱い,

    * reader メソッドの実行するときには現在の参照をそのまま使う.
    * writer メソッドを実行するときにはオブジェクトのコピーを作って 
      become でまとめて参照を置き換える.

  ということをする物で, reader 起動時にオーバヘッドがかからないこと,
  read と write のイベント系列が serializable(linearizable?
  linearizability に関する論文を読んでないので区別が付かない)であるこ
  と, これらを特別なハードウェア無しで実現することを特徴としています.

  で, ruby の代入も atomic であるなら応用で簡単にこれを実現できるな, 
  と. もっとも mutex や synchronizer で十分なのは確かなんですが.

  # 面白くも実用的でもない応用としてこの辺の研究をする人間がプロトタイ
  # プを作るのに使うなんて話もないではないですが.

======================================================================
  柳川 @ 情報システム学研究科 . 電気通信大学
  katze / yuba.is.uec.ac.jp                          February 17, 1998
A man is known by the company he keeps.