【发布时间】:2016-12-27 18:17:11
【问题描述】:
我有一个 List[Result[BigDecimal]] 类型的列表,我想求和。
type Result[A] = OptionT[Future, A]
规则是,如果有任何Future(None),那么我们会得到结果Future(None)。
我有函数[1]:
def sum[A: Monoid](as: List[A]): A = {
val M = implicitly[Monoid[A]]
as.foldLeft(M.zero)(M.append)
}
但是,我缺少 Result[BigDecimal] 的 Monoid 实例。如何使用 Scalaz 定义它?
【问题讨论】: