diff options
-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. |