Yukihiro Matsumoto wrote:

....
> |I am aware of that but unfortunately, like Java, one can't force the
> |object to be "destroyed" a well-ordered point.
> 
> I don't get the point.  First of all, what does RAAI stand for?
> 
> Second, are you claiming either following (a) or (b)?
> 
>  (a) resource finalization must occur when the object is recycled.
> 
>  (b) object reclamation must occur when the last reference to it is
>      removed.

Here's an illustrative point.  The designers of Java recognized the 
need for this, albeit only in one particular case.  The Java applet API 
contains a sort of a higher-level GC.  It has methods for initialization 
and destruction, but it also has methods which are called when an applet 
goes in and out of "scope", IE, when the browser window is not visible for 
some reason.  I'm not very knowledgeable about reference counting vs. 
garbage collection issues, but I do know that, in Java, at least, not 
having a dependably called destructor is a pain (albeit an only occasional 
one).

I like what Ruby blocks give us.

--- SER