Parallel
概要
例えばMonadicな値でproductするとflatMapな実装での結果になってしまう
しかし、applicativeなレベルでproductして欲しい場合は、parTupledとparをつけることでレベルを下げて組み合わせることができる
code:scala
import cats.syntax.parallel._
(List(1, 2), List(3, 4)).tupled
// res8: List(Int, Int) = List((1, 3), (1, 4), (2, 3), (2, 4)) (List(1, 2), List(3, 4)).parTupled
Scala
code:scala
def applicative: ApplicativeF def sequential: F ~> M
def parallel: M ~> F
}