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
- Serializable
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
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[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
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: 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
-
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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )