Class MinWith<A>

java.lang.Object
com.jnape.palatable.lambda.semigroup.builtin.MinWith<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 MinWith<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 greater than y in terms of B, return y
  • Otherwise, return x
See Also: