末尾再帰関数が反復アルゴリズムよりも好まれる理由を説明している記事を見つけることができませんでした。
どこでも明確に説明されていると思う単純な再帰よりも末尾の再帰が優れている理由を尋ねているわけではありません。
なぜ
sum(n) = {
def sumImpl(n, acc) = if(n <= 0) acc else sumImpl(n - 1 , n + accumulator)
sumImpl(n, 0)
}
よりも好ましい
sum = 0;
while(n--) sum += n