Cuándo son flojos los scala's para comprensione

En Python, puedo hacer algo como esto:

lazy = ((i,j) for i in range(0,10000) for j in range(0,10000))
sum((1 for i in lazy))

omará un tiempo, pero el uso de la memoria es constante.

La misma construcción en scala:

(for(i<-0 to 10000; j<-i+1 to 10000) yield (i,j)).count((a:(Int,Int)) => true)

Después de un tiempo, obtengo unjava.lang.OutOfMemoryError, aunque debe evaluarse perezosamente.

Respuestas a la pregunta(2)

Su respuesta a la pregunta