I'm unclear on one thing: what's the purpose of core.async/pipe? In your
blog article, you write:

(-> source (pipe (chan)) payload-decoder payload-json-decoder)

(pipe source destination) just copies elements from source to destination.
How is that any different than just using source here directly?:

(-> source payload-decoder payload-json-decoder)

What have I missed?

// Ben

On Thu, Feb 19, 2015 at 3:06 AM, Malcolm Sparks <malc...@juxt.pro> wrote:

> 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.
>

-- 
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.

Reply via email to