Closed
Description
List.foldRight is not tail recursive, so it throws StackOverflowError when called on a large list.
Example:
scala> (List.range(1, 1000000) :\ 0) (_ + _)
java.lang.StackOverflowError
at scala.List.foldRight(List.scala:1079)
at scala.List.foldRight(List.scala:1081)
at scala.List.foldRight(List.scala:1081)
at scala.List.foldRight(List.scala:1081)
at scala.List.foldRight(List.scala:1081)
at scala.List.foldRight(List.scala:1081)
at scala.List.foldRight(List.scala:1081)
at scala.List.foldRight(List.scala:1081)
at scala.List.foldRig...
scala>
In fact, 10000 is enough on my system.
Metadata
Metadata
Assignees
Labels
No labels