I think if you have to choose one that is idiomatic, you'd have to say it is as->, due to its inclusion in clojure.core. I should start using that pattern...
On Sat, Jan 18, 2014 at 12:47 AM, Jozef Wagner <jozef.wag...@gmail.com>wrote: > There is a Syntax threading library at > https://github.com/LonoCloud/synthread . See it in action at > http://www.infoq.com/presentations/Macros-Monads > > > On Sat, Jan 18, 2014 at 9:18 AM, Jordan Berg <jordannealb...@gmail.com>wrote: > >> You can also use as-> in 1.5+ >> >> (-> 2 >> (+ 2) >> (as-> x (* 1 x 3))) >> >> I like this a bit more than the (#()) approach, personally >> >> On Sat, Jan 18, 2014 at 12:07 AM, Alex Baranosky >> <alexander.barano...@gmail.com> wrote: >> > 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. >> >> -- >> -- >> 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.