[WEBINAR] Application Acceleration: Faster Performance for End Users

Tail Recursion

Definition - What does Tail Recursion mean?

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.

Techopedia explains Tail Recursion

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.

Techopedia Deals

Connect with us

Techopedia on Linkedin
Techopedia on Linkedin
"Techopedia" on Twitter

Sign up for Techopedia's Free Newsletter!

Email Newsletter

Join thousands of others with our weekly newsletter

Free Whitepaper: The Path to Hybrid Cloud
Free Whitepaper: The Path to Hybrid Cloud:
The Path to Hybrid Cloud: Intelligent Bursting To Amazon Web Services & Microsoft Azure
Free E-Book: Public Cloud Guide
Free E-Book: Public Cloud Guide:
This white paper is for leaders of Operations, Engineering, or Infrastructure teams who are creating or executing an IT roadmap.
Free Tool: Virtual Health Monitor
Free Tool: Virtual Health Monitor:
Virtual Health Monitor is a free virtualization monitoring and reporting tool for VMware, Hyper-V, RHEV, and XenServer environments.
Free 30 Day Trial – Turbonomic
Free 30 Day Trial – Turbonomic:
Turbonomic delivers an autonomic platform where virtual and cloud environments self-manage in real-time to assure application performance.