Thanks BG, I'm trying that. But I don't think it addresses how to get from the string "version-0-1-1" to the namespace something.something.version-0-1-1. How can I do that?
-A On Mon, Dec 17, 2012 at 11:26 PM, Baishampayan Ghose <b.gh...@gmail.com>wrote: > Alan, > > Something like this might work for you - > > (defmacro eval-in > "Eval a Clojure form in a different namespace and switch back to > current namespace. > > Args: > code - Clojure form as string > ns - Target namespace as string" > [code ns] > `(do > (in-ns '~(symbol ns)) > (let [ret# (eval '~(read-string code))] > (in-ns '~(ns-name *ns*)) > ret#))) > > Warning - I haven't really tested this code. > > -BG > > On Tue, Dec 18, 2012 at 12:37 PM, Alan Shaw <noden...@gmail.com> wrote: > > Thanks, Las! > > > > Ok say I have a file in which there is string such as > > > > "(- (atan (bw-noise 902 2 0.7604615575402431 400 400)) > (read-image-from-file > > \"images/Dawn_on_Callipygea.png\"))" > > > > and another > > > > "version-0-0-1" > > > > and I have a namespace version-0-0-1 into which functions named atan etc. > > are all :referred. I want to evaluate the expression in that particular > > context, and not remain there when I'm done. > > > > -A > > > > > > > > On Mon, Dec 17, 2012 at 11:00 PM, László Török <ltoro...@gmail.com> > wrote: > >> > >> ah, sorry, it's a bit early for me > >> > >> (in-ns (ns-name user-ns)) > >> > >> if you could post a simple example for the second part of your question > I > >> maybe able to help. > >> > >> Las > >> > >> Alan Shaw 2012. december 18., kedd napon a következőt írta: > >> > >>> Ah no, that puts me in a new user-ns namespace! Not what I wanted! > >>> > >>> > >>> On Mon, Dec 17, 2012 at 10:51 PM, László Török <ltoro...@gmail.com> > >>> wrote: > >>>> > >>>> Try (in-ns 'user-ns) > >>>> > >>>> Las > >>>> > >>>> On Dec 18, 2012 7:50 AM, "Alan Shaw" <noden...@gmail.com> wrote: > >>>>> > >>>>> user=> *ns* > >>>>> #<Namespace user> > >>>>> user=> (def user-ns *ns*) > >>>>> #'user/user-ns > >>>>> user=> user-ns > >>>>> #<Namespace user> > >>>>> user=> (in-ns user-ns) > >>>>> ClassCastException clojure.lang.Namespace cannot be cast to > >>>>> clojure.lang.Symbol clojure.lang.RT$1.invoke (RT.java:226) > >>>>> > >>>>> It appears I'm not understanding how namespaces are represented. > >>>>> > >>>>> Also, is it just wrong of me to want to remember a namespace I was > >>>>> working in and try to go back to it later? > >>>>> > >>>>> The slightly larger context is: I'm saving an s-expression with > >>>>> unqualified names in it into a file as a string. Also saving a string > >>>>> indicating the name of the environment in which that string should > be (read > >>>>> and) eval'ed so that the names will resolve to the appropriate > functions. > >>>>> Advice on managing this would be appreciated. > >>>>> > >>>>> -Alan Shaw > >>>>> > >>>>> -- > >>>>> 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 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 at > >>> http://groups.google.com/group/clojure?hl=en > >> > >> > >> > >> -- > >> László Török > >> > >> -- > >> 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 at > > http://groups.google.com/group/clojure?hl=en > > > > -- > Baishampayan Ghose > b.ghose at gmail.com > > -- > 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 at http://groups.google.com/group/clojure?hl=en