tail recursion

<programming> When the last thing a function (or procedure) does is to call itself. Such a function is called tail recursive. A function may make several recursive calls but a call is only tail-recursive if the caller returns immediately after it. E.g.

	f n = if n < 2 then 1 else f (f (n-2) + 1)

In this example both calls to f are recursive but only the outer one is tail recursive.

Tail recursion is a useful property because it enables tail recursion optimisation.

If you aren't sick of them already, see recursion and tail recursion.

[Jargon File]

Last updated: 2006-04-16

Try this search on Wikipedia, OneLook, Google

Nearby terms:

tail call optimisation « tail call optimization « tail circuit « tail recursion » tail recursion modulo cons » tail recursion optimisation » tail-strict

Loading