Producing full list of Fibonacci numbers which fit in an Int
object Euler002 extends App{
  // Infinite List (Stream) of Fibonacci numbers 
  def fib(a: Int = 0, b: Int = 1): Stream[Int] = Stream.cons(a, fib(b, a+b)) 

  // Take how many numbers you want into a List 
  val fibsAll = fib() takeWhile {_&gt;=0} toList
  fibsAll reverse 
}


Take a look at this.