Thanks for the reply. Now that you point it out, I see what you mean about
channels being queues, rather than generic communication streams.
Perhaps rather than return a bidirectional channel, Chord should instead
return two channels, one for input and one for output. Or perhaps it should
take the
I think the difficulty here is that Chord has a bidirectional channel,
where putting and taking operate on different "streams" inside the channel.
(Internally, Chord is actually using a different channel for reads and
writes. It constructs the "joined" channel using chord.channels/bidi-ch)
I do
I currently have some core.async code that looks like:
(map< :foo ch)
However, map< and map> are now deprecated, with the suggestion to use
transducers instead. Unfortunately it's not obvious how to go about that.
At first I thought that I could use a pipe and a new channel:
(pipe ch (c