Recursion
<mathematics, programming> When a
function (or
procedure) calls itself.
Such a function is called "recursive".
If the call is via one or more other functions then this group of functions are called "mutually recursive".
If a function will always call itself, however it is called, then it will never terminate.
Usually however, it first performs some test on its arguments to check for a "base case" - a condition under which it can return a value without calling itself.
The
canonical example of a recursive function is factorial:
factorial 0 = 1 factorial n = n * factorial (n-1)
Functional programming languages rely heavily on recursion, using it where a
procedural language would use
iteration.
See also
recursion,
recursive definition,
tail recursion.
[
Jargon File]