trait
SemigroupLaw extends AnyRef
Value Members
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
final
def
==(arg0: Any): Boolean
-
final
def
asInstanceOf[T0]: T0
-
def
associative(f1: F, f2: F, f3: F)(implicit F: Equal[F]): Boolean
-
def
clone(): AnyRef
-
-
-
def
finalize(): Unit
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
final
def
isInstanceOf[T0]: Boolean
-
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
def
unfoldlSumOptConsistency[S](s: S, f: (S) ⇒ Maybe[(S, F)])(implicit E: Equal[F]): Boolean
-
def
unfoldrSumOptConsistency[S](s: S, f: (S) ⇒ Maybe[(F, S)])(implicit E: Equal[F]): Boolean
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
A semigroup in type F must satisfy two laws:
∀ a, b in F, append(a, b)
is also inF
. This is enforced by the type system.∀ a, b, c
inF
, the equationappend(append(a, b), c) = append(a, append(b , c))
holds.