Tail recursion
= Tail recursion
= Tail-recursive
{synonym}
<Recursion> in which the recursive call is the last operation required to obtain the current call's result. An accumulator can encode the state that would otherwise be updated by a loop. A suitable <compiler> can replace the call by a jump, avoiding growing <call stack> storage. In <Scala>, a tail-recursion annotation requests a check that the recursive method is eligible for this transformation.