Scala: Потоки не ленивые?

Я знаю, что потоки должны быть лениво оцененными последовательностями в Scala, но я думаю, что страдаю от какого-то фундаментального недоразумения, потому что они кажутся более нетерпеливыми, чем я ожидал.

В этом примере:

 val initial = Stream(1)
 lazy val bad = Stream(1/0)
 println((initial ++ bad) take 1)

Я получаюjava.lang.ArithmeticException, который, кажется, вызван нулевым делением. Я ожидаю, чтоbad никогда не будет оценен, так как я попросил только один элемент из потока. Какие'S не так?

Ответы на вопрос(3)

Ваш ответ на вопрос