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

Reply via email to