I heard years ago that Ruby 1.9 was going to have tail call optimization, but I can't find it anywhere in the news file. Does anyone know if this made it in or not?
I think it's been implemented in 1.9 for a long time, but it's not enabled by default. You have to set a #define to configure it, however I don't know why it's not enabled by default. Maybe someone in the "know" can tell us why.
"In fact, I don't check this option. So some bugs may hide on this option. And backtrace (what you see on exception) is changed. It's convention issue." -- http://www.ruby-forum.com/topic/164263