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.