Hacker News new | ask | show | jobs
by tromp 628 days ago
How do you use that for lists that do not simply iterate, like

    ghci> fibs = 0 : 1 : zipWith (+) fibs (drop 1 fibs)
    ghci> take 10 fibs
    [0,1,1,2,3,5,8,13,21,34]
?
1 comments

You can use Stream.unfold/2:

  Stream.unfold({0,1}, fn {a,b} -> {a,{b,a+b}} end)
  |> Enum.take(10)
  [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
https://rosettacode.org/wiki/Fibonacci_sequence#Elixir