Хвостовая рекурсия
Хвостова́я реку́рсия — тип рекурсивного определения функции, в котором рекурсивный вызов производится после всех вычислений. Оптимизирующие трансляторы языков программирования выполняют хвостовую рекурсию в постоянном объёме памяти, сводя её к итеративным вычислениям. В функциональном программировании идиома хвостовой рекурсии соответствует левоассоциативной свёртке списка.