On Aug 29, 2012, at 12:18 PM, Brian Marick <mar...@exampler.com> wrote:

> Why does `(merge)` return nil? I would have expected it to return the unit 
> ({})

I agree with your intuition -- I expected an empty map.  However, the doc says 
"Returns a map that consists of the rest of the maps conj-ed onto the first" 
which implies that correct usage needs at least one map.  As an aside, it 
doesn't say anything about nil arguments, but they seem to be supported as well 
as maps.  My guess, based on a quick look at some of the commits, is that 
allowing nil as an argument was convenient for some metadata manipulations, and 
the edge case of no-arguments wasn't considered important.  It looks like it 
would be easy to fix and probably wouldn't break any code since no one should 
be depending on the undocumented nullary behavior.

Steve Miner
stevemi...@gmail.com



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