I have recently written a blog article which explains how to use transducers with core.async.
You can find it here: http://malcolmsparks.com/posts/transducers.html On Wednesday, 18 February 2015 21:48:05 UTC, bsmith.occs wrote: > > I'm probably just especially dense today, but perhaps someone can give me > a poke in the right direction. > > I'm trying to wrap my head around transducers. > > (1) For debugging purposes I'd like to be able to consume the values on a > channel and put them in a collection to be printed. > > I'm doing this at the REPL: > > (async/<!! (async/into [] channel)) > > This seems needlessly clunky. Is this really the best way to accomplish > this? > > (2) async/map> is deprecated, what's the alternative, exactly? > > (let [ch (async/to-chan [1 2 3])] > (async/map> inc ch)) > > AFAICT this would produce a channel, which when consumed would yield the > values 2 3 4, correct? > > Now I suppose if I didn't already have the channel ch, I could create one > with an associated transformation function, and then stuff the values 1 2 3 > into it somehow, right? > > (let [ch (async/chan nil (map inc))] > (async/onto-chan ch [1 2 3]) > ch) > ;; returns a channel yielding items 2, 3, 4 > > But, I'm not clear at all how I can apply the operation (inc) to the all > values yielded by a channel I already have in my hand. > > Any help would be appreciated. I feel like I'm missing some critical bit > of insight and that async and transducers might just fall into place for me > if I could only find out what that bit is. > > // Ben > -- 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.