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
What Is Tail Call Optimization?Tail call optimization reuses the current stack frame for a call in tail position, so deeply recursive tail c…
What Is a Stack Frame?A stack frame is the block of stack memory for one function call, holding its arguments, local variables, and…
What Is a Continuation?A continuation represents the rest of a computation at a given point, as a value that can be invoked later to…