Tech moves fast! Stay ahead of the curve with Techopedia!
Join nearly 200,000 subscribers who receive actionable tech insights from Techopedia.
Tail recursion is the act of calling a recursive function at the end of a particular code module rather than in the middle. A function is recursive if it calls itself. This programming concept is often useful for self-referencing functions and plays a major role in programming languages such as LISP.
In computer programming, a function that calls itself, either directly or indirectly, is a recursive function. When this call happens at the end of the function, it is called tail recursion. Usually, other calculations or procedures are done before the recursive call.
A tail recursion usually occurs when a recursive function call is made, then ends, and has nothing else to do after having done the recursive call. The benefits of this approach include less burden of retaining a stack frame, as well as code readability. Programmers and designers sometimes use tail recursion in order to optimize code and maximize efficiency.