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.