Question

Is there any sensible way of transforming this:

(for ([cos-t (stream-map cos t-range)]
      [sin-t (stream-map sin t-range)])
  ...)

to something like this:

(for ([(cos-t sin-t) (... t-range)]
  ...)

It's not really a map function, since you can't make a list that way. I'm just looking for better and easier way of doing the thing above.

Was it helpful?

Solution

What you want is already available using the for form. Use the in-parallel function to combine two sequences in this way:

(for ([(cos-t sin-t) (in-parallel (stream-map cos t-range)
                                  (stream-map sin t-range))])
  (displayln (+ cos-t sin-t)))
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top