summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2008-10-16 21:12:48 +0000
committerRich Hickey <richhickey@gmail.com>2008-10-16 21:12:48 +0000
commite7e3ca9d005df867ee44609785b166d1043f77af (patch)
tree0ea956c395dfb926a5abdc7b00cd8baf3b2ee1a5 /src
parent6176d97fba40fcd8879045f60a3a970a98119603 (diff)
added remove
Diffstat (limited to 'src')
-rw-r--r--src/clj/clojure/boot.clj9
-rw-r--r--src/clj/clojure/zip/zip.clj2
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.