There are some bugs with my previous post. Here's a revised version. ;;----------USING LIST COMPREHENSIONS------- (for [n (range 10) :when (even? n)] n)
(apply concat (for [n (range 10) :when (even? n)] [n (* 2 n)])) ;;--------EMIT/COLLECT IMPLEMENTATION---------- (def -collector) (defn emit [x] (set! -collector (conj -collector x))) (defmacro collect [& body] `(binding [-collector []] ~...@body -collector)) ;;--------USING EMIT/COLLECT--------- (collect (doseq [ n (range 10)] (when (even? n) (emit n)))) (apply concat (for [n (range 10) :when (even? n)] [n (* 2 n)])) Sincerely -Patrick -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en