Re: clojure.contrib.trace not working on 1.2?
I seem to recall that 1.2 is using chunked lazy sequences for performance reasons, and fib is a lazy sequence. I wonder if you'd start seeing intermediate steps using (fib 20) instead of (fib 3)? m On Tue, Sep 7, 2010 at 7:32 PM, Scott Jaderholm jaderh...@gmail.com wrote: Why does c.c.trace give different output on 1.2 than it did on 1.1? From http://learnclojure.blogspot.com/2010/02/slime-2009-10-31-user-defn-fib-n-if-n-2.html On 1.1 user (dotrace (fib) (fib 3)) TRACE t1880: (fib 3) TRACE t1881: | (fib 2) TRACE t1882: | | (fib 1) TRACE t1882: | | = 1 TRACE t1883: | | (fib 0) TRACE t1883: | | = 0 TRACE t1881: | = 1 TRACE t1884: | (fib 1) TRACE t1884: | = 1 TRACE t1880: = 2 2 user On 1.2 user dotrace (fib) (fib 3)) TRACE t11624: (fib 3) TRACE t11624: = 2 Thanks, Scott -- 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 Note that posts from new members are moderated - please be patient with your first post. 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 -- 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 Note that posts from new members are moderated - please be patient with your first post. 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
Re: clojure.contrib.trace not working on 1.2?
On Wed, Sep 8, 2010 at 7:30 AM, Mark Nutter manutte...@gmail.com wrote: I seem to recall that 1.2 is using chunked lazy sequences for performance reasons, and fib is a lazy sequence. I wonder if you'd start seeing intermediate steps using (fib 20) instead of (fib 3)? This fib doesn't look lazy to me so I don't think that's it. -- 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 Note that posts from new members are moderated - please be patient with your first post. 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
clojure.contrib.trace not working on 1.2?
Why does c.c.trace give different output on 1.2 than it did on 1.1? From http://learnclojure.blogspot.com/2010/02/slime-2009-10-31-user-defn-fib-n-if-n-2.html On 1.1 user (dotrace (fib) (fib 3)) TRACE t1880: (fib 3) TRACE t1881: |(fib 2) TRACE t1882: ||(fib 1) TRACE t1882: ||= 1 TRACE t1883: ||(fib 0) TRACE t1883: ||= 0 TRACE t1881: |= 1 TRACE t1884: |(fib 1) TRACE t1884: |= 1 TRACE t1880: = 2 2 user On 1.2 user dotrace (fib) (fib 3)) TRACE t11624: (fib 3) TRACE t11624: = 2 Thanks, Scott -- 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 Note that posts from new members are moderated - please be patient with your first post. 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
Re: clojure.contrib.trace not working on 1.2?
Hm, I would guess that the self-call gets hard-wired, since if you define fib thus: (defn fib [n] (if (#{0 1} n) n (+ (#'fib (- 2 n)) (#'fib (dec n) then it works as you expect. Not that I'm really sure what's happening; just a conjecture. Also, I believe I already bumped into this behaviour when playing with alternative tracing schemes, but never realised its new to 1.2... interesting. Sincerely, Michał -- 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 Note that posts from new members are moderated - please be patient with your first post. 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