Скала:
(1 to 100000000).toList.foldLeft(0)((acc, x) => acc + x)
Эликсир
1..100000000 |> Enum.to_list |> List.foldl(0, fn x, acc -> x + acc end)
Они имеют одинаковую функциональность. Тем не менее, JVM просто вызывает исключение возмущения GC в отличие от того, что BEAM может справиться с этим безопасно. Мне просто любопытно, почему JVM не может справиться с этой ситуацией? Это вина JVM или просто Scala Compiler? (Я знаю, что мог бы использовать Stream или View для обработки этой ситуации)