Calling flatten on anything that is not 'sequential?' returns an empty 
sequence:

(flatten 1); => () 
(flatten "Hi"); => () 

With sets if feels somewhat strange:

(flatten #{#{:a} #{:b :c}}); => ()

For some reason I expected #{#{:a} #{:b :c}} to equal #{:a :b :c}.

Ok, the docstring says: "Takes any nested combination of sequential 
things...", and sets are not sequential...

But then, why

(reduce + (flatten #{1 2})); => 0
(r/reduce + (r/flatten #{1 2})); => 3 ?

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