-
Notifications
You must be signed in to change notification settings - Fork 21
Closed
Milestone
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