Oh yes, the something.something is fixed so I can just prepend it, thanks. (Hadn't noticed your macro takes the ns as a string!)
-A On Mon, Dec 17, 2012 at 11:47 PM, Baishampayan Ghose <b.gh...@gmail.com>wrote: > Alan, > > What you're asking for is to derive the ns "clojure.core" given only > "core". Not sure if that's possible. > > The namespace constitutes the whole dotted structure and not just the > last component, I am afraid. > > If the actual ns is something.something.version-0-1-1, then you need > the string "something.something.version-0-1-1" and not just > "version-0-1-1" [unless of course you have some other way of deriving > it from info that's embedded in _your_ code or structure thereof]. > > > -BG > > On Tue, Dec 18, 2012 at 1:10 PM, Alan Shaw <noden...@gmail.com> wrote: > > 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 > > > > -- > 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