Thanks Sean...

Sorry, I should have used a better word than "parallel"- The second
code example shows what I mean... I'm not referring to multithreaded
parallelism, but simply being able to iterate through two lists in
step, as Chouser describes. (as you can do by passing two different
seqs to "map")

On Jan 8, 11:34 am, Sean Devlin <francoisdev...@gmail.com> wrote:
> Take a look at pmap
>
> On Jan 8, 11:13 am, Conrad <drc...@gmail.com> wrote:
>
>
>
> > Looping variables in a clojure "for" loop are iterated in a serial,
> > cartesian fashion:
>
> > > (for [a (range 5) b (range 10 15)]
>
> >        (+ a b))
> > (10 11 12 13 14 11 12 13 14 15 12 13 14 15 16 13 14 15 16 17 14 15 16
> > 17 18)
>
> > I was wondering if there's a standard idiom for looping in parallel
> > fashion- Doesn't look like it's supported by the "for" macro directly.
> > The best code I can come up with to do this is:
>
> > > (for [[a b] (map vector (range 5) (range 10 15))]
>
> >        (+ a b))
> > (10 12 14 16 18)
>
> > Is there a more elegant way to do this? (Of course, having parallel
> > for loop variables is only valuable if you have a more complex loop-
> > For this simple example you could write this in a nicer way by not
> > using a "for" loop at all)
>
> > On a side note, is there a good reason why "range" with no parameters
> > doesn't just return the whole numbers? Then I wouldn't have to pepper
> > my code with (iterate inc 0) everywhere...
-- 
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

Reply via email to