from
The Free On-line Dictionary of Computing (8 July 2008)
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)