Skip to content
Latchkey

O Que É uma Tail Call?

Uma tail call é uma chamada que ocorre como a última operação de uma função, de modo que nada resta a fazer depois que ela retorna, exceto devolver seu resultado. Como o frame do chamador não é mais necessário, uma implementação pode reutilizá-lo para o chamado em vez de empilhar um novo. Essa é a propriedade que viabiliza a tail call optimization.

Por que importa

Reconhecer tail calls permite que compiladores transformem recursão que estouraria a pilha em iteração semelhante a um loop. É a base para escrever algoritmos recursivos profundos com segurança em estilos funcionais.

Guias relacionados