0

半群は連想する必要がありますが、次のSemigroupように定義できます。

trait Semigroup[T] {
  def op(t1:T, t2:T) : T
}

def plus = new Semigroup[Int] { def op(t1:Int, t2:Int) = t1 - t2 }

連想しないものを実装できますがplus、クラスはまだSemigroup. これに対する保護手段はありますか、それともユーザーはこれを防ぐためにテストに頼ることが期待されていますか?

4

1 に答える 1