On Wed, Nov 11, 2009 at 1:12 PM, Stephen C. Gilardi <squee...@mac.com> wrote: > > Here are some of the ideas I've liked best for how to do it.
Thanks for pulling this together. I like the whole direction you're going here. > - require that each "libspec" (reference to a lib) be a vector, disallowing > naked symbols and prefix extraction via prefix lists. This would mean that > everything after :uses will be a vector which is known to be a complete > specification of the dependency's name and how this lib uses it. (This > regularity would help humans understand and outside-of-Clojure tools have an > easier time parsing.) The only time this would bother me in the least is at the REPL. I find the suggestion of not grouping them at all someone interesting as well -- a bit like :gen-class. > - don't "refer" any names from the target namespace into the current > namespace by default Hooray! > - automatically alias the leaf name of the lib as a reference to the lib: I think this may be ok, maybe even really great, though I think Rich pointed out that it will encourage the creation of namespaces with short leaf names. > - open question as to whether using :only, :rename, :exclude, or :refer-all > would suppress the automatic alias and require an explicit :as if an alias > is also desired. I vote for minimal magic -- auto alias happens unless you say :as explicitly. That does raise the question of how to prevent any alias. I don't particularly like either ":as dummy-alias-2" or ":alias false" but I'm not sure what else it could be. Any other ideas? > - remove the special ":refer-clojure" clause in favor of an optional > "[clojure.core]" within :uses that changes the default for clojure.core away > from ":refer-all true" Maybe require [clojure.core :refer-all false] if that's what you mean? Seems to me (:uses [clojure.core]) looks a lot like a no-op. I think all the other suggestions are good, and maybe more of them deserve "Hoorays" as well. :-) --Chouser -- 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