Source : Free On-Line Dictionary of Computing
tail recursion
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)
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}]
(1996-02-22)