Class MinBy<A,B extends Comparable<B>>

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

public final class MinBy<A,B extends Comparable<B>> extends Object implements SemigroupFactory<Fn1<? super A,? extends B>,A>
Given a mapping function from some type A to some Comparable type B, 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:
  • Field Details

    • INSTANCE

      private static final MinBy<?,?> INSTANCE
  • Constructor Details

    • MinBy

      private MinBy()
  • Method Details