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.

有帮助吗?

解决方案

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)))
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top