trait Monoid[A] extends Associative[A]
Typeclass trait representing a binary operation that obeys the associative law and an identity element that obeys the left and right identity laws.
The associative law states that given values a, b, and c
of type A (and implicit Monoid.adapters imported):
((a combine b) combine c) === (a combine (b combine c))
The left identity law states that given the identity value, z, and any other value, a,
of type A (and implicit Monoid.adapters imported):
(z combine a) === a
An similarly, the right identity law states that given the same values and implicit:
(a combine z) === a
- Source
- Monoid.scala
- Alphabetic
- By Inheritance
- Monoid
- Associative
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
combine(a1: A, a2: A): A
A binary operation that obeys the associative law.
A binary operation that obeys the associative law.
See the main documentation for this trait for more detail.
- Definition Classes
- Associative
-
abstract
def
z: A
The identity element.
The identity element.
Passing the identity element,
z, tocombinealong with any other value,a, of typeAwill result in the same value,a. See the main documentation for this trait for more detail.
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )