I tend to agree, I think. I certainly can't think of a syntax that would make me happy. It just feels like a bit of a smell that I keep using ->> to process sequences in similar ways.
The data.zip "xml->" macro is an example of something like what I'm thinking about - it lets you process sequences of xml data nicely: http://clojure.github.io/data.zip/#clojure.data.zip.xml/xml-> ... but I can't see a way to use something similar for the sort of data I'm processing. I'll let this percolate, and stick to just using lots of (map) and (filter) instead. - Korny On 6 February 2014 18:34, Jozef Wagner <jozef.wag...@gmail.com> wrote: > I agree with Colin, the cognitive load is greater than benefits of such > approach. BTW you can use comp to chain consecutive map transformation > functions. (map (comp pacify wrangle) things) > > JW > > > On Thu, Feb 6, 2014 at 3:40 PM, Korny Sietsma <ko...@sietsma.com> wrote: > >> Hi folks, >> >> I seem to regularly find myself writing ->> threaded code that follows >> similar patterns: >> >> (->> things >> (map wrangle) >> (map pacify) >> (filter effable) >> (map #(aggravate % :bees :sharks)) >> (reduce mapinate {}) >> >> i.e. all stages of the code actually operate on a collection rather than >> a single value - usually with a call to "map" at each stage. This example >> is over simplified - often many of the calls to map are inline functions, >> which makes this even more verbose. >> >> I wonder if there would be value in (yet another) variant on '->' that >> assumes you are threading a collection and calling 'map' by default. I'm >> not sure of the syntax that would work though. Something like: >> >> ([]-> things >> wrangle >> pacify >> [:filter effable] >> (aggravate :bees :sharks) >> [:reduce mapinate {}]) >> >> I'm not sure about the syntax for non-map functions, I'm not even sure if >> this is worthwhile. Thoughts? >> >> - Korny >> >> -- >> Kornelis Sietsma korny at my surname dot com http://korny.info >> .fnord { display: none !important; } >> >> -- >> 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. > -- Kornelis Sietsma korny at my surname dot com http://korny.info .fnord { display: none !important; } -- 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.