RetroFed Forum
Your home away from modern life.
Tail Call Optimization
Post Reply
AuthorMessage
isti115 lemmy.world isti115@lemmy.world
Joined: 2023-06-12
Quote

I wasn't able to find any up-to-date information about tail call optimization support in Ruby, so I decided to post this hoping that it will pop up next time someone might also be searching for this topic...

What I was able to figure out is that TCO can be enabled in Ruby 3.4 via a compile option like so:

RubyVM::InstructionSequence.compile_option = {tailcall_optimization: true}

def tailSumUntil(n, m)
  n == 0 ? m : tailSumUntil(n - 1, n + m)
end

tailSumUntil(100_000_000, 0)
# => 5000000050000000
1   Original
Post Reply
Back to top