Re: Redefining vars

2012-07-19 Thread Mark Rathwell
partial returns a closure, closing over a at the time b is defined. On Wed, Jul 18, 2012 at 7:18 AM, Alice wrote: > I'm reading Clojure Programming from O'Reilly. > > (defn a [b] (+ 5 b)) > ;= #'user/a > (def b (partial a 5)) > ;= #'user/b > (b) > ;= 10 > (defn a [b] (+ 10 b)) > ;= #'user/a > (b)

Redefining vars

2012-07-19 Thread Alice
I'm reading Clojure Programming from O'Reilly. (defn a [b] (+ 5 b)) ;= #'user/a (def b (partial a 5)) ;= #'user/b (b) ;= 10 (defn a [b] (+ 10 b)) ;= #'user/a (b) ;= 10 Redefining a has no effect. But, (defn foo [] 1) ;= #'user/foo (defn bar [] (foo)) ;= #'user/bar (bar) ;= 1 (defn foo [] 2) ;= #