diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/clojure/contrib/seq_utils.clj | 5 |
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." |