diff options
author | Rich Hickey <richhickey@gmail.com> | 2008-10-16 21:12:48 +0000 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2008-10-16 21:12:48 +0000 |
commit | e7e3ca9d005df867ee44609785b166d1043f77af (patch) | |
tree | 0ea956c395dfb926a5abdc7b00cd8baf3b2ee1a5 /src | |
parent | 6176d97fba40fcd8879045f60a3a970a98119603 (diff) |
added remove
Diffstat (limited to 'src')
-rw-r--r-- | src/clj/clojure/boot.clj | 9 | ||||
-rw-r--r-- | src/clj/clojure/zip/zip.clj | 2 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/clj/clojure/boot.clj b/src/clj/clojure/boot.clj index 9de4cdd2..80162e9b 100644 --- a/src/clj/clojure/boot.clj +++ b/src/clj/clojure/boot.clj @@ -1274,6 +1274,15 @@ (lazy-cons (first coll) (filter pred (rest coll))) (recur pred (rest coll))))) +(defn remove + "Returns a lazy seq of the items in coll for which + (pred item) returns false. pred must be free of side-effects." + [pred coll] + (when (seq coll) + (if (pred (first coll)) + (recur pred (rest coll)) + (lazy-cons (first coll) (remove pred (rest coll)))))) + (defn take "Returns a lazy seq of the first n items in coll, or all items if there are fewer than n." diff --git a/src/clj/clojure/zip/zip.clj b/src/clj/clojure/zip/zip.clj index c8412f5a..1115b729 100644 --- a/src/clj/clojure/zip/zip.clj +++ b/src/clj/clojure/zip/zip.clj @@ -10,7 +10,7 @@ ;see Huet (ns clojure.zip - (:refer-clojure :exclude (replace))) + (:refer-clojure :exclude (replace remove))) (defn zipper "Creates a new zipper structure. |