A transformATion applied to functional programs to replace recursion with iterATion. A tail-recursive function can be compiled to an iterATive loop where the recursive call becomes a jump back to the start and the parameters are held in registers which are updATed with new values each time around the loop. See IterATion, Tail recursion optimisATion.