So am I! Sean, can you share code for condp->> too, please. Oh, sorry, I thought it was obvious from condp-> since the only difference is that it uses ->> instead of -> in one place:
(defmacro condp->> "Takes an expression and a set of predicate/form pairs. Threads expr (via ->>) through each form for which the corresponding predicate is true of expr. Note that, unlike cond branching, condp->> threading does not short circuit after the first true test expression." [expr & clauses] (assert (even? (count clauses))) (let [g (gensym) pstep (fn [[pred step]] `(if (~pred ~g) (->> ~g ~step) ~g))] `(let [~g ~expr ~@(interleave (repeat g) (map pstep (partition 2 clauses)))] ~g))) Sean -- 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 --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.