On Mon, Mar 2, 2009 at 12:53 AM, Konrad Hinsen <konrad.hin...@laposte.net>wrote:
> > Over the last weeks, two additions to clojure.core broke several of > my library modules by introducing names into the clojure.core > namespace that I was using in my libraries as well. While this kind > of problem is acceptable in a pre-release development period, I don't > expect it to go away with release 1.0, so I believe we need to do > something about it. > > Basically, the problem concerns access to other namespaces via :use > or :refer, though in practice it is most important for clojure.core > that is referred to by default in any namespace. A symbol that refers > to a var from another namespace cannot be redefined. If I introduce a > symbol in my namespace and in a later release the same symbol is > defined in a namespace that mine refers to, I can no longer compiler > my namespace. > > For namespaces other than clojure.core, an acceptable solution is to > use the :only keyword in the :use clause of the ns macro. This just > requires a bit more work in typing, but I don't see any other > potential difficulty. I am currently converting all my code to > use :only, and I haven't had any bad surprises until now. For > clojure.core, listing all imported symbols explicitly would be a real > pain, but I don't see any other simple solution. I just hope someone > else does :-) > > Konrad. > > > > I think :exclude is what you want (ns my-ns (:refer-clojure :exclude [get replace])) --~--~---------~--~----~------------~-------~--~----~ 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 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 -~----------~----~----~----~------~----~------~--~---