diff options
author | Rich Hickey <richhickey@gmail.com> | 2008-08-12 12:05:54 +0000 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2008-08-12 12:05:54 +0000 |
commit | 5c6454d0266ce16c54551e03321d846e91805d5f (patch) | |
tree | 24f82139b49b0e83e2186dc89904cca47cf3b152 /src | |
parent | a8307cc884811af0a769023bf1459d77c1c02f7d (diff) |
use recur in concat$cat
Diffstat (limited to 'src')
-rw-r--r-- | src/clj/clojure/boot.clj | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/clj/clojure/boot.clj b/src/clj/clojure/boot.clj index c225d6ac..7fbfd4d1 100644 --- a/src/clj/clojure/boot.clj +++ b/src/clj/clojure/boot.clj @@ -426,11 +426,12 @@ (lazy-seq (first x) (concat (rest x) y)) (seq y))) ([x y & zs] - (let [cat (fn cat [xys] + (let [cat (fn cat [xys zs] (if (seq xys) - (lazy-seq (first xys) (cat (rest xys))) - (apply concat zs)))] - (cat (concat x y))))) + (lazy-seq (first xys) (cat (rest xys) zs)) + (when zs + (recur (first zs) (rest zs)))))] + (cat (concat x y) zs)))) ;;;;;;;;;;;;;;;;at this point all the support for syntax-quote exists;;;;;;;;;;;;;;;;;;;;;; (defn = |