Now that we have "remove" (and "sequential?"), perhaps we should
redefine flatten and separate:

(defn flatten
  "Takes any nested combination of sequential things (lists, vectors,
  etc.) and returns their contents as a single, flat sequence."
  [x]
  (remove sequential? (tree-seq sequential? seq x)))

(defn separate
  "Returns a vector:
   [ (filter f s), (remove f s) ]"
  [f s]
  [(filter f s) (remove f s)])

- Mark
--~--~---------~--~----~------------~-------~--~----~
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
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to