tro

from The Free On-line Dictionary of Computing (8 July 2008)
tail recursion optimisation
TRO

   <programming> (TRO) Discarding the calling environment ({call
   stack} {frame}) when the last thing a function or procedure
   does is to call itself.  This is important when a procedure
   calls itself {recursive}ly many times since, without tail
   recursion optimisation, the environments of earlier
   invocations would fill up the memory only to be discarded when
   (if) the last call terminated.

   Tail recursion optimisation is a special case of {last call
   optimisation} but it allows the further optimisation that some
   arguments may be passed in situ, possibly in {registers}.  It
   allows recursive functions to be compiled into {iterative}
   loops.

   See also {conversion to iteration}, {tail recursion modulo
   cons}.

   (2006-04-16)
    

[email protected]