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