Hi,

I found this article today :)

James Edward Gray II wrote:
> Not yet.  I believe this is planned for YARV though, if it doesn't
> already do it.

YARV can achieve tail *call* optimization (not on default).  But not
tail *recursion*.

On Ruby syntax, we can't optimize tail recursion.  Because Ruby don't
support like "Java private method".

How about this pattern? :
---------------------------------
class C
  def fact n
    n <= 2 ? 1 : n * fact(n)
  end
end

class D < C
  def fact n
    p n
    super
  end
end

D.new.fact(10)

or Module#include, Object#extend, ....

Regards,
-- 
// SASADA Koichi at atdot dot net