java.lang.Object
com.jnape.palatable.lambda.semigroup.builtin.MaxWith<A>
Type Parameters:
A - the value type
All Implemented Interfaces:
Fn1<Comparator<A>,Fn1<A,Fn1<A,A>>>, Fn2<Comparator<A>,A,Fn1<A,A>>, Fn3<Comparator<A>,A,A,A>, SemigroupFactory<Comparator<A>,A>, Applicative<Fn1<A,Fn1<A,A>>,Fn1<Comparator<A>,?>>, Cartesian<Comparator<A>,Fn1<A,Fn1<A,A>>,Fn1<?,?>>, Cocartesian<Comparator<A>,Fn1<A,Fn1<A,A>>,Fn1<?,?>>, Contravariant<Comparator<A>,Profunctor<?,Fn1<A,Fn1<A,A>>,Fn1<?,?>>>, Functor<Fn1<A,Fn1<A,A>>,Fn1<Comparator<A>,?>>, Profunctor<Comparator<A>,Fn1<A,Fn1<A,A>>,Fn1<?,?>>, Monad<Fn1<A,Fn1<A,A>>,Fn1<Comparator<A>,?>>, MonadReader<Comparator<A>,Fn1<A,Fn1<A,A>>,Fn1<Comparator<A>,?>>, MonadRec<Fn1<A,Fn1<A,A>>,Fn1<Comparator<A>,?>>, MonadWriter<Comparator<A>,Fn1<A,Fn1<A,A>>,Fn1<Comparator<A>,?>>

public final class MaxWith<A> extends Object implements SemigroupFactory<Comparator<A>,A>
Given a comparator for some type A, produce a Semigroup over A that chooses between two values x and y via the following rules:
  • If x is strictly less than y in terms of B, return y
  • Otherwise, return x
See Also: