Хорошо, я получаю, что вся рекурсия более функциональна, потому что вы не изменяете состояние какого-либо объекта на итерации. Однако ничто не мешает вам сделать это в scala.Scala recursion no побочные эффекты
var magoo = 7;
def mergeSort(xs: List[Int]): List[Int] = {
...
magoo = magoo + 1
mergeSort(xs1, xs2);
}
Фактически, вы можете сделать рекурсию так же, как и в Scala, как можно на Java. Так справедливо ли говорить, что Scala просто упрощает запись краткой рекурсии, используя сопоставление шаблонов? Как нет ничего, что мешает мне писать любой код рекурсии без гражданства на Java, который я могу написать в Scala?
Дело в том, что в Scala сложная рекурсия может быть достигнута с помощью более чистого кода. Вот и все. Правильно?