☆Worlds: Controlling the scope of side effects (RN 2008)


「現在の Store」を一級オブジェクトとして扱い、そのなかで計算を行うことを許す言語機構として World を提案している。

Alessandro Warth and Alan Kay: Worlds: Controlling the scope of side effects, VPRI research note, 11 pages, 2008.

World は copy on write、トランザクション、ロールバック、モジュール機構などと密接に係わっている。本格的なモジュール機構として扱うためには、World に対する演算を定義する必要があるだろう。論文のなかでは、i18n のようなものを World として実装するものが与えられていたが、このような背景文脈が複数存在するためには複数の World を組み合わせた複合的な World のなかでの計算を考える必要がでてくるだろう。ただ単なるmerge ではきっとおかしなことが山ほど出てくるに違いない。

[hidepost]
トランザクションを扱える言語はこれまでにもいくつかあったけれども、これを一級オブジェクトとして扱えるようにした例は少ない。データベースプログラミング言語の文脈では Avalon/C++ があったような気もする。

現時点では並行性は扱っていないらしい。
[/hidepost]