Nils, thanks for the insight! I am relatively new to Lisps and your comment is worth analyzing.
- Igor On Nov 23, 5:27 pm, Nils Bertschinger <nils.bertschin...@googlemail.com> wrote: > Clojure is a Lisp, so it should be possible to extend it yourself ... > What about something like this? > > (defmacro locally-using > "Allows to use symbols from other namespace in the local scope > of the macro body. > Syntax: (locally-using [<symbol>*] :from <namespace> > <body>)" > [symbols from ns-name & body] > (assert (= from :from) "Wrong syntax ... delimiter :from missing or > misplaced!") > (let [local-vars (map (fn [sym] (symbol (str ns-name) (str sym))) > symbols)] > `(do (require '~ns-name) > (symbol-macrolet [~@(interleave symbols local-vars)] > ~@body)))) > > which then let's you write: > (locally-using [split] :from clojure.string (split "Hello world" #" > ")) > > The above macro could probably be made smarter to only require the lib > if it not already loaded and also "unload" when it is done in this > case. But since you have to load the lib anyways to use it and > qualified names do not clutter your current namespace, the above > version seems to be good enough. > > Cheers, > > Nils > > On Nov 23, 4:40 am, Igor TN <igor...@gmail.com> wrote: > > > > > > > > > Yes, I meant local context. In principle, this could help to avoid > > namespacing conflicts in certain cases. But not a big deal, just > > wondering if the language supports that. Apparently not. Cool with me. > > Thanks everybody! > > > On Nov 22, 6:59 pm, Alex Baranosky <alexander.barano...@gmail.com> > > wrote: > > > > Looks like he'd like to make a namespace available *only* in a local > > > context, which some languages support, like Scala, for one. I never have > > > a > > > need for that, really. -- 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