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.


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

Here the both calls to fib are recursive but only the outer one is tail recursive.

See tail recursion optimisation, and, if you aren't sick of them already, recursion, tail recursion.

[Jargon File]

< Previous Terms Terms Containing tail recursion Next Terms >
Tagged Image File Format
tagged queueing
tagged types
tag name
tail circuit
conversion to iteration
Id Nouveau
last call optimisation
tail recursion
tail recursion modulo cons
tail recursion optimisation