ns-unmap isn't typically used. But for durability, we can think of JVM shutdown/startup as unmapping everything and starting fresh. Therefore, expected behavior for ns-unmap should be the same as behavior for deserializing and loading an object after a new JVM startup. Here's another issue I ran into:
=> (def a 1) #'user/a => (defn b [] a) #'user/b => (b) 1 => (def a 2) #'user/a => (b) 2 => (binding [a 3] (b)) 3 So far so good... => (ns-unmap *ns* 'a) nil => a java.lang.Exception: Unable to resolve symbol: a in this context => (b) 2 => (binding [a 3] (b)) java.lang.Exception: Unable to resolve var: a in this context So what's the expected behavior here? I would think that after a is unmapped, b should no longer work. Instead, it's hanging onto a with the last value. And the binding form doesn't work anymore, so there's no way to dynamically bind over it. It's like a weird hybrid of lexical and dynamic binding... Thanks, Alyssa Kwan -- 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