<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]

< Previous Terms Terms Containing recursion Next Terms >
Record Management Services
Record Separator
rectangle slinger
Backus-Naur Form
conversion to iteration
recursion theory
recursive acronym
recursive definition
recursive descent parser