On Nov 10, 2010, at 6:59 AM, Pepijn de Vos wrote:

> Hi all,
> 
> It occurred to me that Clojure has a huge core namespace. While OO languages 
> like Python and Java stuff functions into modules and objects and have a core 
> of a few dozen functions, Clojure's core contains everything you might need 
> for most tasks, but has over 400 functions in core, with no easy way to 
> navigate them.

I'm hijacking the thread, but at least I changed the subject. :-P

Your first paragraph reminded me of one of the clojure emails I've wanted to 
send lately, but haven't gotten around to.

I agree with your observation, but in addition to tools to navigate the 
functions, I wanted to suggest that some of the functions should be collapsed, 
leading to a smaller collection of functions to actually have to know.

Especially with protocols, I believe that the cost of having developers 
remember both rseq and reverse (why can't reverse just DTRT if it is given a 
vector?), last and peek (same), butlast and pop (same), and nth and get (same) 
is unnecessarily high.  Those are all vector examples, which are all I had 
collected in my initial notes for the email.  I suspect there are others, but I 
haven't done the work yet.  

I'd love to see these cleaned up, myself, and would be willing to help do so if 
my Clojure skills proved sufficient.

Gary

-- 
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