L
- The left parameter typeR
- The right parameter typepublic final class Merge<L,R> extends Object implements BiSemigroupFactory<Semigroup<L>,Semigroup<R>,Either<L,R>>
Semigroup
instance formed by Either.merge(com.jnape.palatable.lambda.functions.Fn2<? super L, ? super L, ? extends L>, com.jnape.palatable.lambda.functions.Fn2<? super R, ? super R, ? extends R>, com.jnape.palatable.lambda.adt.Either<L, R>...)
and semigroups over L
and R
.
Like Either.merge(com.jnape.palatable.lambda.functions.Fn2<? super L, ? super L, ? extends L>, com.jnape.palatable.lambda.functions.Fn2<? super R, ? super R, ? extends R>, com.jnape.palatable.lambda.adt.Either<L, R>...)
, this is left-biased.
Modifier and Type | Method and Description |
---|---|
Semigroup<Either<L,R>> |
checkedApply(Semigroup<L> lSemigroup,
Semigroup<R> rSemigroup) |
static <L,R> Merge<L,R> |
merge() |
static <L,R> SemigroupFactory<Semigroup<R>,Either<L,R>> |
merge(Semigroup<L> lSemigroup) |
static <L,R> Semigroup<Either<L,R>> |
merge(Semigroup<L> lSemigroup,
Semigroup<R> rSemigroup) |
static <L,R> Fn1<Either<L,R>,Either<L,R>> |
merge(Semigroup<L> lSemigroup,
Semigroup<R> rSemigroup,
Either<L,R> x) |
static <L,R> Either<L,R> |
merge(Semigroup<L> lSemigroup,
Semigroup<R> rSemigroup,
Either<L,R> x,
Either<L,R> y) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
apply, apply, checkedApply, flip, uncurry
apply, apply, checkedApply, compose, contraMap, diMapL, discardR, fn4, fn4, fn4, fn4, widen
checkedApply, curried, curry, fn2, fromBiFunction, toBiFunction
public Semigroup<Either<L,R>> checkedApply(Semigroup<L> lSemigroup, Semigroup<R> rSemigroup)
Fn3
checkedApply
in interface Fn2<Semigroup<L>,Semigroup<R>,Fn1<Either<L,R>,Fn1<Either<L,R>,Either<L,R>>>>
checkedApply
in interface Fn3<Semigroup<L>,Semigroup<R>,Either<L,R>,Fn1<Either<L,R>,Either<L,R>>>
checkedApply
in interface BiSemigroupFactory<Semigroup<L>,Semigroup<R>,Either<L,R>>
public static <L,R> Merge<L,R> merge()
public static <L,R> SemigroupFactory<Semigroup<R>,Either<L,R>> merge(Semigroup<L> lSemigroup)
public static <L,R> Semigroup<Either<L,R>> merge(Semigroup<L> lSemigroup, Semigroup<R> rSemigroup)
public static <L,R> Fn1<Either<L,R>,Either<L,R>> merge(Semigroup<L> lSemigroup, Semigroup<R> rSemigroup, Either<L,R> x)