aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/clojure/contrib/seq_utils.clj5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/clojure/contrib/seq_utils.clj b/src/clojure/contrib/seq_utils.clj
index ef6ebfcf..007c1755 100644
--- a/src/clojure/contrib/seq_utils.clj
+++ b/src/clojure/contrib/seq_utils.clj
@@ -94,8 +94,9 @@
"Similar to lazy-seq but binds the resulting seq to the supplied
binding-name, allowing for recursive expressions."
[binding-name & body]
- (list* '#^{:once true :super-name "clojure/lang/LazySeq"} fn* binding-name [] body))
-
+ `((fn helper# []
+ (lazy-seq (let [~binding-name (helper#)] ~@body)))))
+
(defmacro rec-cat
"Similar to lazy-cat but binds the resulting sequence to the supplied
binding-name, allowing for recursive expressions."