class EitherSemigroup[L, R] extends Semigroup[Either[L, R]]
Either semigroup is useful for error handling. if everything is correct, use Right (it's right, get it?), if something goes wrong, use Left. plus does the normal thing for plus(Right, Right), or plus(Left, Left), but if exactly one is Left, we return that value (to keep the error condition). Typically, the left value will be a string representing the errors.
Linear Supertypes
Known Subclasses
Ordering
- Alphabetic
- By Inheritance
Inherited
- EitherSemigroup
- Semigroup
- AdditiveSemigroup
- Semigroup
- Serializable
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- Protected
Instance Constructors
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
- def additive: algebra.Semigroup[Either[L, R]]
- Definition Classes
- Semigroup → AdditiveSemigroup
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def combine(l: Either[L, R], r: Either[L, R]): Either[L, R]
- Definition Classes
- Semigroup → Semigroup
- def combineAllOption(iter: TraversableOnce[Either[L, R]]): Option[Either[L, R]]
- Definition Classes
- Semigroup → Semigroup
- def combineN(a: Either[L, R], n: Int): Either[L, R]
- Definition Classes
- Semigroup
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def plus(l: Either[L, R], r: Either[L, R]): Either[L, R]
- Definition Classes
- EitherSemigroup → AdditiveSemigroup
- def positiveSumN(a: Either[L, R], n: Int): Either[L, R]
- Attributes
- protected[this]
- Definition Classes
- AdditiveSemigroup
- def repeatedCombineN(a: Either[L, R], n: Int): Either[L, R]
- Attributes
- protected[this]
- Definition Classes
- Semigroup
- def sumN(a: Either[L, R], n: Int): Either[L, R]
- Definition Classes
- AdditiveSemigroup
- def sumOption(iter: TraversableOnce[Either[L, R]]): Option[Either[L, R]]
Returns an instance of
T
calculated by summing all instances initer
in one pass.Returns an instance of
T
calculated by summing all instances initer
in one pass. ReturnsNone
ifiter
is empty, elseSome[T]
.- iter
instances of
T
to be combined- returns
None
ifiter
is empty, else an option value containing the summedT
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def trySum(iter: TraversableOnce[Either[L, R]]): Option[Either[L, R]]
- Definition Classes
- Semigroup → AdditiveSemigroup
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()