Matt Fowles wrote: > > Benjamin Goldberg wrote: > >>For more complex cases timely destruction will not be assured. > > > > Which is not-so-good. We'd like timely destruction *always* > > > > However, given that your suggestion can be implemented purely > > through compile time behaviors, there's no reason we can't use what > > you've suggested for the simple case, and some *other* solution for > > more complex cases. > > I think that you will run into the halting problem here... Without > ref counting or running dod frequently I am not sure that you can > guarantee timely destruction, in complex cases...
True enough. But it shouldn't require solving the halting problem to recognize that the current case is not simple. Thus, we can use Matt's idea for simple situations, and detect when the situation is not so simple, and switch to some other scheme. There's no reason why the other scheme (whatever it is) can't be either frequent DoD runs or my hybrid refcounting/dod scheme. -- $a=24;split//,240513;s/\B/ => /for@@=qw(ac ab bc ba cb ca );{push(@b,$a),($a-=6)^=1 for 2..$a/6x--$|;print "[EMAIL PROTECTED] ]\n";((6<=($a-=6))?$a+=$_[$a%6]-$a%6:($a=pop @b))&&redo;}