12 lines
236 B
Scala

def addStream(s1: LazyList[Int], s2: LazyList[Int]): LazyList[Int] = {
s1 zip s2 map (p => p._1 + p._2)
}
def fibonacci(): LazyList[Int] = {
0 #:: addStream(
1 #:: fibonacci(),
fibonacci()
)
}
fibonacci().take(10).toList