What I think is the interesting part of the question is the inclusion of the word "idiomatic". I'm not sure swiss-arrows is idiomatic... that said I don't know what would be considered idiomatic here.a
One solution I know of for examples like this is: (-> 2 (+ 2) (#(* 1 % 3))) I'm not sure this is idiomatic either, but it at least has the benefit of requiring no additional dependencies. On Fri, Jan 17, 2014 at 11:29 PM, t x <txrev...@gmail.com> wrote: > You win. :-) > > > On Fri, Jan 17, 2014 at 11:26 PM, Shaun Gilchrist <shaunxc...@gmail.com>wrote: > >> https://github.com/rplevy/swiss-arrows >> >> >> On Fri, Jan 17, 2014 at 11:05 PM, t x <txrev...@gmail.com> wrote: >> >>> I have the following: >>> >>> (defn helper [initial funcs] >>> (loop [fns funcs >>> ans initial] >>> (if (empty? fns) >>> ans >>> (recur (rest fns) >>> (list (first fns) ans))))) >>> >>> (defmacro => [initial & funcs] >>> (helper initial funcs)) >>> >>> (macroexpand-1 >>> '(=> 2 >>> #(+ % 2) >>> #(* 1 % 3))) >>> >>> >>> Is there something part of the idiomatic clojure / clojure core which >>> does the above? Basically, I like the idea of -> and -->, but I find that I >>> can't always guarantee (1) last element or (2) 2nd element. >>> >>> The above lets me place the argument directly via #% >>> >>> Question: is there something part of idiomatic clojure / clojure core >>> that already does the above? >>> >>> Thanks! >>> >>> -- >>> -- >>> 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/groups/opt_out. >>> >> >> -- >> -- >> 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/groups/opt_out. >> > > -- > -- > 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/groups/opt_out. > -- -- 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/groups/opt_out.