Okay, found a fix do my own bug. You can use the with-ns namespace to solve this issue. I changed the form to be like this:
(send test-result (fn [& args] (with-ns 'my-ns (eval `(->> ~@(deref test-query)))))) FYI On Apr 29, 5:09 pm, Sean Devlin <francoisdev...@gmail.com> wrote: > Right... > Is there a way to force an agent thread to be evaluated in a certain > namespace? > > You see, the current design accepts a string, and uses read-string to > parse it. i.e. I call a form like this a lot > > (send test-query conj (read-string (get-input))) > > Sean > > On Apr 29, 4:40 pm, Laurent PETIT <laurent.pe...@gmail.com> wrote: > > > > > Hello Sean, > > > You want > > > (def test-query > > (agent > > `[test-coll > > (take 2)])) > > > to fully qualify test-coll (and also take, btw) because when passed to > > eval on the agent's thread, who knows to which value *ns* will be > > bound ? > > > (tested on my machine) > > > HTH, > > > -- > > Laurent > > > 2010/4/29 Sean Devlin <francoisdev...@gmail.com>: > > > > I'm having a lot of trouble getting an app to work. I'm using agents > > > in a GUI app. For the sake of discussion I've got the following > > > things defined: > > > > (def test-coll > > > [{:a 1 :b 2 :c 3} > > > {:a 4 :b 5 :c 6} > > > {:a 7 :b 8 :c 9} > > > {:a 10 :b 11 :c 12} > > > ]) > > > > (def test-query > > > (agent > > > '[test-coll > > > (take 2)])) > > > > (def test-result (agent [])) > > > > I want to execute test-query like so: > > > > user=> (eval `(->> ~@(deref test-query))) > > > ({:a 1, :b 2, :c 3} > > > {:a 4, :b 5, :c 6}) > > > > This part works at the REPL fine. Next I wrap it in a closure: > > > > user=> ((fn [& args] (eval `(->> ~@(deref test-query))))) > > > ({:a 1, :b 2, :c 3} > > > {:a 4, :b 5, :c 6}) > > > > Also fine. > > > > Now, I want to send this to the agent test-result > > > > user=> (send test-result (fn [& args](eval `(->> ~@(deref test- > > > query))))) > > > #<Agent (...)> > > > > user=> @test-result > > > #<CompilerException java.lang.Exception: Agent has errors > > > (NO_SOURCE_FILE:468)> > > > > user=> (agent-errors test-result) > > > (#<CompilerException java.lang.Exception: Unable to resolve symbol: > > > test-coll in this context (NO_SOURCE_FILE:459)>) > > > > Blargh. > > > > Why doesn't this work when I use send? I'm at a loss here. > > > > Sean > > > > -- > > > 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 > > athttp://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 > athttp://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