Thanks Alex. Feel silly not to have noticed the partition function. When will transduces be available to use?
On Wednesday, 3 September 2014 22:48:20 UTC+2, Alex Miller wrote: > > 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> 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.