diff options
author | Stuart Sierra <mail@stuartsierra.com> | 2008-12-16 17:18:45 +0000 |
---|---|---|
committer | Stuart Sierra <mail@stuartsierra.com> | 2008-12-16 17:18:45 +0000 |
commit | 2c2cf4b718b4df32d984ffd5a91e9a72534d8630 (patch) | |
tree | 7de7f3ec542441320c911e98888d5572e5c0d73e /src/clojure | |
parent | 5b151fe8d40a67a79e2c97fce5fd36d121853c2f (diff) |
seq_utils.clj: fixed flatten to return nil for nil
See discussion at http://groups.google.com/group/clojure/browse_thread/thread/966bd0d4bb18a4a2
Diffstat (limited to 'src/clojure')
-rw-r--r-- | src/clojure/contrib/seq_utils.clj | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/clojure/contrib/seq_utils.clj b/src/clojure/contrib/seq_utils.clj index 92256af0..58b5914b 100644 --- a/src/clojure/contrib/seq_utils.clj +++ b/src/clojure/contrib/seq_utils.clj @@ -1,7 +1,7 @@ ;;; seq_utils.clj -- Sequence utilities for Clojure ;; by Stuart Sierra, http://stuartsierra.com/ -;; last updated August 12, 2008 +;; last updated December 16, 2008 ;; Copyright (c) Stuart Sierra, 2008. All rights reserved. The use ;; and distribution terms for this software are covered by the Eclipse @@ -19,10 +19,11 @@ ;; see http://groups.google.com/group/clojure/msg/385098fabfcaad9b (defn flatten "Takes any nested combination of sequential things (lists, vectors, - etc.) and returns their contents as a single, flat sequence." + etc.) and returns their contents as a single, flat sequence. + (flatten nil) returns nil." [x] - (let [s? #(instance? clojure.lang.Sequential %)] - (filter (complement s?) (tree-seq s? seq x)))) + (filter (complement sequential?) + (rest (tree-seq sequential? seq x)))) (defn separate "Returns a vector: |