0

自己实现它似乎微不足道:

implicit def s[F[_]: Monad, A: Semigroup]: Semigroup[F[A]] = 
  Semigroup.instance((fa, fb) => for {
    fa <- fa
    fb <- fb
  } yield fa |+| fb)

但是有可能自动推导出来吗?Kittens似乎可以与case classes 一起使用(至少我在这种情况下尝试过它并没有用)。

4

0 回答 0