I think that's just a partition transducer on the channel?

On Wednesday, September 3, 2014 2:24:28 AM UTC-5, Gary Verhaegen wrote:
>
> I'd use another channel on which I put vectors of the correct length, with 
> an intermediate loop that takes from the first channel, accumulates until 
> the vector has the right size, and then put the vector on the second 
> channel.
>
> There might be a better solution with transducers, though. (Or without.)
>
> On Wednesday, 3 September 2014, cig <clifford...@gmail.com <javascript:>> 
> wrote:
>
>> Thanks Timothy, that makes sense.
>>
>> A follow on question if you don't mind.
>>
>> I would like to 'take' n items off of a channel, but wait until n items 
>> are available rather than eagerly returning the way take does. Do you have 
>> any ideas on how
>> I could achieve this?
>>
>> On Tuesday, 2 September 2014 22:23:10 UTC+2, tbc++ wrote:
>>>
>>> It's because into is pulling items as fast as it can from take. Sure the 
>>> buffer might get full but then into takes another value allowing take to 
>>> continue. 
>>>
>>> Timothy
>>>
>>>
>>> On Tue, Sep 2, 2014 at 1:48 PM, cig <clifford...@gmail.com> wrote:
>>>
>>>> Hi
>>>>
>>>> I was expecting the following example to park, waiting for the 'out' 
>>>> channel to be cleared. Could anybody explain why 'take' does not
>>>> park when the output buffer size is smaller than the number of entries 
>>>> being taken from the input channel?
>>>>
>>>> (def from (to-chan [1 2 3 4 5 6 7]))
>>>> (<!! (into [] (take 4 from *2*)))       ;; note: the output channel 
>>>> buffer size is 2 (less than 4 items being taken off of the 'from' channel)
>>>>
>>>> ;; => [1 2 3 4]
>>>>
>>>>
>>>>  -- 
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Clojure" group.
>>>> To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>>
>>> -- 
>>> “One of the main causes of the fall of the Roman Empire was that–lacking 
>>> zero–they had no way to indicate successful termination of their C 
>>> programs.”
>>> (Robert Firth) 
>>>
>>  -- 
>> 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