Stack Level too Deep e Tail Call Optimization: É uma boa ideia fazer recursão em Ruby? (TDC POA 2016)

Stack Level too Deep e Tail Call Optimization: É uma boa ideia fazer recursão em Ruby? (TDC POA 2016)

Com a programação funcional sendo tão discutida nos últimos tempos e Elixir ganhando força, acabamos sendo influenciados por seus conceitos e muitas vezes tentamos implementá-los em Ruby. No caso de recursão - uma estratégia clássica de linguagens funcionais - veremos que inicialmente isto pode não ser uma boa ideia. Vamos entender o que é recursão, como funciona uma "tail call", aprender a realizar modificações na Ruby VM e a compilar uma versão customizada de código Ruby com suporte à Tail Call Optimization. Veremos também o que existe de verdade por trás do clássico erro "Stack Level too Deep", o que significa Stack em Ruby e como lidar com suas questões.

09568cd616fdbc8846956ed3965e545d?s=128

Guilherme Baptista

October 08, 2016
Tweet