Hi, On Mon, May 31, 2010 at 07:34:24AM +0200, Sina K. Heshmati wrote:
> > (defn make-module > > [] > > (let [state (atom 0) > > say-hello (fn [] (println "Hello")) > > public-op (fn [x y] (+ @state x y))] > > (fn [op] > > (case op > > :hello say-hello > > :public public-op)))) > > Could you elaborate a bit please? Is there a reason why nested defns are > wrong? I'm sorry. I missed this question. def always introduces a global binding. It is unlike schemes define. So invoking make-module twice basically overwrites the first defs with the second ones. Sincerely Meikel -- 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