# recursion

You are here: irt.org | FOLDOC | 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.

(1996-05-11)

Nearby terms: rectangle slinger « recurrence relation « recurse « recursion » recursion theory » recursive » recursive acronym

FOLDOC, Topics, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, ?, ALL