val d : Rng[Double] = double
val point : Rng[(Double, Double)] = pair(d, d)
val points = point.stream(1000)
val tests = points.map(point => if (insideCircle(point)) 1.0 else 0.0)
现在我需要求和 tests
tests[0] |+| tests[1] |+| tests[2] ... // Rng[Double] is a monoid
我可以使用fold
来完成,但我想使用一些"快捷方式" (相反,如同sum: Seq[M[A]] => M[A]
,其中M是幺半群)。 scala
或scalaz
有这样的功能吗?