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)