I have updated the sample source from the book 
(http://tinyurl.com/clojure-samples 
) to the new laziness. Along the way, I replaced the lazy-cons based  
implementation of the fibonacci numbers with this:

(defn fibo
   ([]
      (concat [0 1] (fibo 0 1)))
   ([a b]
      (let [n (+ a b)]
        (lazy-seq
        (cons n (fibo b n))))))

Is there a better/more idiomatic approach, without resorting to code  
in clojure-contrib? Test your code against the following expression to  
flush out stack and heap overflows.

(rem (nth (fibo) 1000000) 1000)
-> 875

Also, the current 'fibs' implementation in clojure.contrib.seq fails  
the test above, because it holds the entire sequence as it goes. We  
should replace it with whatever the community comes up with on this  
thread.

Cheers,
Stu

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to 
clojure+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to