org.specs2.internal.scalaz
Given a type A that has an instance of the Semigroup type class, the type Dual[A] has a Semigroup instance that reverses the arguments to scalaz.Semigroup#append.
scalaz.Semigroup#append
This is only of use when Semigroup[A] is not commutative.
For example:
("1" ⊹ "2") ≟ "12" ("1".σ ⊹ "2".σ) ≟ "21".σ
scalaz.Identity#σ
scalaz.Semigroup#DualSemigroup
Data-Monoid
Given a type A that has an instance of the Semigroup type class, the type Dual[A] has a Semigroup instance that reverses the arguments to
scalaz.Semigroup#append
.This is only of use when Semigroup[A] is not commutative.
For example:
scalaz.Identity#σ
scalaz.Semigroup#DualSemigroup
Data-Monoid