I think adding the generic sub-namespaces java, data, algo, tools, etc. is unnecessary and confusing. How many libraries fit neatly in one of those categories and not the other? Why use clojure.data.json when clojure.json would suffice? More examples: clojure.cli, clojure.enlive, clojure.monads are all sufficient. Think of the confusion clojure.data.java is going to cause. Or was it clojure.java.data? clojure.* is not that crowded to justify another layer. Even with the few libs we have today I still need to look up what lines I need to add to my ns.
Namespaces while important, IMHO, are the most confusing part of basic clojure coding for new users, and they are a bureaucratic annoyance to everyone else. Over here we were very excited to hear about slamhound, which is saying something if there's a need/desire for an external tool to handle simple ns declarations. I think the right direction should be simplifying namespaces and contrib libs as much as possible. Consolidating contrib libs is great. Eliminating duplicate names in common contrib libraries so they can be :used together without exceptions would also be great (kind of defeats the purpose of ns, though, but still). It would be even greater if some of the more core-ish functions from string and io and other contribs would finally graduate to core. I don't think core should become an all-inclusive bloated mess, but it's my feeling that right now some of the essential vocabulary found in contrib is missing from core. Maybe revamp the ns macro for something more intuitive with less boilerplate. Maybe get rid of :use, :require, :import, etc. and try something like: (ns my-ns clojure.repl ;for :use/:import [clojure.sql :as sql] ;for :require java.net.URL ;for :importing single classes [java.util.concurrent TimeUnit ExecutionException]) ;for :importing multiple classes -- 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