[Context lost to top posting.]

On Thu, 22 Jul 2010 15:56:32 -0700 (PDT)
logan <duskli...@gmail.com> wrote:

> I tried defn-memo .. it still does not appear to memoize the original
> fib call? I tried this using clojure 1.2 beta. Reading the code
> definition for defn-memo it seems like it should work, but calling
> (fib 41) still takes a long time after calling (fib 40), when it
> should basically be an instantaneous call if the memoization works
> correctly.

Works fine on 1.1:

user> (defn-memo fib [n]
   (println "Calling fib with arg --> " n)
   (cond
    (= n 0) 0
    (= n 1) 1
    :else (+ (fib (- n 1))
            (fib (- n 2)))))

#'user/fib
user> (fib 40)
Calling fib with arg -->  40
[elided]
Calling fib with arg -->  0
102334155
user> (fib 41)
Calling fib with arg -->  41
165580141
user> 

And yes, it's pretty much instantaneous.  Possibly it's the same bug
that bit using the var in 1.2? Or maybe it's a different one.

     <mike
-- 
Mike Meyer <m...@mired.org>             http://www.mired.org/consulting.html
Independent Network/Unix/Perforce consultant, email for more information.

O< ascii ribbon campaign - stop html mail - www.asciiribbon.org

-- 
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

Reply via email to