3 ms·
There are all sorts of ways to do it; for instance, I really like the following: (def fibo (map second (iterate (fn [[x y]] [y (+ x y)]
by ihodes 16y ago
There are all sorts of ways to do it; for instance, I really like the following:
(def fibo (map second
(iterate (fn [[x y]] [y (+ x y)]) [0 1])))
I just went with a different version for the article to show another way of doing it that might be clearer to someone new to Clojure. As for understanding/ease of reading, the Haskell version is a little more alien to me, but that's because I haven't spent much time in Haskell.
Once again, for your CF ex:
(take 10 (iterate (comp inc /) 1))
Which gives ratios in Clojure, not doubles. Both elegant solutions, definitely. I just wanted to use my GCF, which could probably be made to look a little nicer as well. This post was more about playing around with the Golden Ratio than writing sexy code (though admittedly, I probably could have done better in many places!)
Haskell is a really cool language: I'm making my way through Real World Haskell right now!