Hi, > Good point. It seems that :use would suffice except if both of the following > are true for a particular namespace: > - it's defined outside of a lib, > - it's reasonable to want to refer to it. > > I'm not aware of any uses of namespaces that meet both of those criteria. > Does anyone else know of any? >
One thing I encountered with the new (ns) is when some Java code that operates with Clojure creates a Namespace before the corresponding .clj file is loaded. With the current behaviour, when the .clj loads and calls (ns com.my-ns) it does not automatically refer 'clojure since the namespace was already created by the Java code. In this case a call to (clojure/refer 'clojure) was necessary. Again we're talking about 'clojure, but its not inconceivable to me that a similar situation could arise with a different namespace. A manual call to clojure/refer is not a big deal to me, but being able to contain this in a :refer clause in the call to (ns) would feel a little cleaner. Use of the general :refer clause would likely be low, but I don't see any reason to limit flexibility for when its needed. I wouldn't expect there be too much confusion between when to use :use and when to use :refer--use :use if you want to load the lib if necessary and refer it into the current namespace, and use :refer if you are sure that the namespace is already loaded. Rich might have something else to say about it though :). /mike. --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---