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]
(2006-04-16)
Nearby terms:
tagged types « tag name « tail circuit « tail
recursion
» tail recursion modulo cons » tail recursion
optimisation » tail-strict
|