sum2 b a + accum
Обратите внимание, что это анализируется как (sum2 b a) + accum
, а не sum2 b (a + accum)
.
Так что это вызывает sum2 b a
.Затем он берет результат этого вызова и добавляет к нему accum
.Таким образом, последнее вычисленное выражение - это сложение, а не вызов sum2
.Таким образом, вызов sum2
не является хвостовым вызовом.