「生きてるオブジェクト」を示す式

下手な自然言語で説明するよりわかりやすいかもしれないのでメモ
live = \{N \in Nodes | (\exists r \in Roots.r \to N) \bigvee (\exists M \in live.M \to N)\}

2008/05/03 追記

書き忘れてましたけどこの式Garbage Collection p4からの引用です。


Nodesは変数として割り当てることのできる全ての領域の集合。a → bはaからbへの参照があること。Rootsとは静的割り当て領域、レジスタ、スタック領域といった集合の和集合。liveとは生きてるノードの集合。

k.inabaさんにツッコミもらいました。最初のつっつきの通りであり、原文では

the least set live where
live = \{N \in Nodes | (\exists r \in Roots.r \to N) \bigvee (\exists M \in live.M \to N)\}

だったのでしたという。

test