質問

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