Modifier and Type | Method and Description |
---|---|
Either<L,R> |
Either.merge(Fn2<? super L,? super L,? extends L> leftFn,
Fn2<? super R,? super R,? extends R> rightFn,
Either<L,R>... others)
Given two binary operators over L and R, merge multiple
Either<L, R> s into a single
Either<L, R> . |
Either<L,R> |
Either.merge(Fn2<? super L,? super L,? extends L> leftFn,
Fn2<? super R,? super R,? extends R> rightFn,
Either<L,R>... others)
Given two binary operators over L and R, merge multiple
Either<L, R> s into a single
Either<L, R> . |
Modifier and Type | Method and Description |
---|---|
default <R> R |
Product2.into(Fn2<? super _1,? super _2,? extends R> fn)
Destructure and apply this product to a function accepting the same number of arguments as this product's
slots.
|
Modifier and Type | Interface and Description |
---|---|
interface |
Fn3<A,B,C,D>
A function taking three arguments.
|
interface |
Fn4<A,B,C,D,E>
A function taking four arguments.
|
interface |
Fn5<A,B,C,D,E,F>
A function taking five arguments.
|
interface |
Fn6<A,B,C,D,E,F,G>
A function taking six arguments.
|
interface |
Fn7<A,B,C,D,E,F,G,H>
A function taking six arguments.
|
interface |
Fn8<A,B,C,D,E,F,G,H,I>
A function taking six arguments.
|
Modifier and Type | Method and Description |
---|---|
default <C,D> Fn2<A,C,D> |
Fn1.andThen(Fn2<? super B,? super C,? extends D> after)
Left-to-right composition between different arity functions.
|
default Fn2<B,C,D> |
Fn3.apply(A a)
Partially apply this function by taking its first argument.
|
default Fn2<C,D,E> |
Fn4.apply(A a,
B b)
Partially apply this function by taking its first two arguments.
|
default Fn2<D,E,F> |
Fn5.apply(A a,
B b,
C c)
Partially apply this function by taking its first three arguments.
|
default Fn2<E,F,G> |
Fn6.apply(A a,
B b,
C c,
D d)
Partially apply this function by taking its first four arguments.
|
default Fn2<F,G,H> |
Fn7.apply(A a,
B b,
C c,
D d,
E e)
Partially apply this function by taking its first five arguments.
|
default Fn2<G,H,I> |
Fn8.apply(A a,
B b,
C c,
D d,
E e,
F f)
Partially apply this function by taking its first six arguments.
|
default <Y,Z> Fn2<Y,Z,B> |
Fn1.compose(Fn2<? super Y,? super Z,? extends A> before)
Right-to-left composition between different arity functions.
|
default <Z> Fn2<Z,B,C> |
Fn2.contraMap(Fn1<? super Z,? extends A> fn)
Contravariantly map
A <- B . |
static <A,B,C> Fn2<A,B,C> |
Fn2.curried(Fn1<A,Fn1<B,C>> curriedFn1)
|
static <A,B,C> Fn2<A,B,C> |
Fn2.curry(Fn1<? super Tuple2<A,B>,? extends C> uncurriedFn1)
|
default <Z> Fn2<Z,B,C> |
Fn2.diMapL(Fn1<? super Z,? extends A> fn)
Contravariantly map over the argument to this function, producing a function that takes the new argument type,
and produces the same result.
|
default <D> Fn2<A,B,C> |
Fn2.discardR(Applicative<D,Fn1<A,?>> appB)
Sequence both this
Applicative and appB , discarding appB's result and
returning this Applicative . |
default Fn2<B,A,C> |
Fn2.flip()
Flip the order of the arguments.
|
static <A,B,C> Fn2<A,B,C> |
Fn2.fn2(Fn2<A,B,C> fn2)
Static method to aid inference.
|
static <A,B,C> Fn2<A,B,C> |
Fn2.fromBiFunction(BiFunction<? super A,? super B,? extends C> biFunction)
Static factory method for wrapping a
BiFunction in an Fn2 . |
default Fn2<? super Product2<? extends A,? extends B>,C,D> |
Fn3.uncurry()
|
default <Z> Fn2<Z,A,B> |
Fn1.widen()
Widen this function's argument list by prepending an ignored argument of any type to the front.
|
Modifier and Type | Method and Description |
---|---|
default <C,D> Fn2<A,C,D> |
Fn1.andThen(Fn2<? super B,? super C,? extends D> after)
Left-to-right composition between different arity functions.
|
default <Y,Z> Fn6<Y,Z,B,C,D,E,F> |
Fn5.compose(Fn2<? super Y,? super Z,? extends A> before) |
default <Y,Z> Fn8<Y,Z,B,C,D,E,F,G,Fn1<H,I>> |
Fn8.compose(Fn2<? super Y,? super Z,? extends A> before) |
default <Y,Z> Fn5<Y,Z,B,C,D,E> |
Fn4.compose(Fn2<? super Y,? super Z,? extends A> before) |
default <Y,Z> Fn3<Y,Z,B,C> |
Fn2.compose(Fn2<? super Y,? super Z,? extends A> before)
Right-to-left composition between different arity functions.
|
default <Y,Z> Fn2<Y,Z,B> |
Fn1.compose(Fn2<? super Y,? super Z,? extends A> before)
Right-to-left composition between different arity functions.
|
default <Y,Z> Fn4<Y,Z,B,C,D> |
Fn3.compose(Fn2<? super Y,? super Z,? extends A> before) |
default <Y,Z> Fn7<Y,Z,B,C,D,E,F,G> |
Fn6.compose(Fn2<? super Y,? super Z,? extends A> before) |
default <Y,Z> Fn8<Y,Z,B,C,D,E,F,G,H> |
Fn7.compose(Fn2<? super Y,? super Z,? extends A> before) |
static <A,B,C> Fn2<A,B,C> |
Fn2.fn2(Fn2<A,B,C> fn2)
Static method to aid inference.
|
static <A,B,C,D> Fn3<A,B,C,D> |
Fn3.fn3(Fn2<A,B,Fn1<C,D>> curriedFn2)
|
static <A,B,C,D,E> |
Fn4.fn4(Fn2<A,B,Fn2<C,D,E>> curriedFn2)
|
static <A,B,C,D,E,F> |
Fn5.fn5(Fn2<A,B,Fn3<C,D,E,F>> curriedFn2)
|
static <A,B,C,D,E,F,G> |
Fn6.fn6(Fn2<A,B,Fn4<C,D,E,F,G>> curriedFn2)
|
static <A,B,C,D,E,F,G,H> |
Fn7.fn7(Fn2<A,B,Fn5<C,D,E,F,G,H>> curriedFn2)
|
static <A,B,C,D,E,F,G,H,I> |
Fn8.fn8(Fn2<A,B,Fn6<C,D,E,F,G,H,I>> curriedFn2)
|
default <C> Fn1<A,C> |
Fn1.zip(Fn2<A,B,C> appFn) |
default <B> Fn0<B> |
Fn0.zip(Fn2<Unit,A,B> appFn) |
Modifier and Type | Method and Description |
---|---|
static <A,B,C,D> Fn3<A,B,C,D> |
Fn3.fn3(Fn1<A,Fn2<B,C,D>> curriedFn1)
|
static <A,B,C,D,E> |
Fn4.fn4(Fn2<A,B,Fn2<C,D,E>> curriedFn2)
|
static <A,B,C,D,E,F> |
Fn5.fn5(Fn3<A,B,C,Fn2<D,E,F>> curriedFn3)
|
static <A,B,C,D,E,F,G> |
Fn6.fn6(Fn4<A,B,C,D,Fn2<E,F,G>> curriedFn4)
|
static <A,B,C,D,E,F,G,H> |
Fn7.fn7(Fn5<A,B,C,D,E,Fn2<F,G,H>> curriedFn5)
|
static <A,B,C,D,E,F,G,H,I> |
Fn8.fn8(Fn6<A,B,C,D,E,F,Fn2<G,H,I>> curriedFn6)
|
Modifier and Type | Class and Description |
---|---|
class |
Constantly<A,B>
A function that takes two arguments and always returns the first argument.
|
class |
Not<A>
Negate a predicate function.
|
Modifier and Type | Class and Description |
---|---|
class |
All<A>
Eagerly apply a predicate to each element in an
Iterable , returning true if every element
satisfies the predicate, and false otherwise. |
class |
Alter<A>
|
class |
Any<A>
Eagerly apply a predicate to each element in an
Iterable , returning true if any element
satisfies the predicate, and false otherwise. |
class |
AutoBracket<A extends AutoCloseable,B>
Given an
IO yielding some AutoCloseable type A and a kleisli arrow from that type to a
new IO of type B , attempt to provision the A , applying the body operation if
provisioning was successful and ensuring that AutoCloseable.close() is called regardless of whether the body
succeeds or fails. |
class |
Both<A,B,C>
|
class |
CartesianProduct<A,B>
Lazily compute the cartesian product of an
Iterable<A> and Iterable<B> ,
returning an Iterable<Tuple2<A, B>> , the products as tuples of
multiplicand A s and multiplier B s. |
class |
CmpEq<A extends Comparable<A>>
Given two
Comparable values of type A , return true if the first value is strictly
equal to the second value (according to Comparable.compareTo(Object) ; otherwise, return false. |
class |
Cons<A>
Prepend an element to an
Iterable . |
class |
Difference<A>
|
class |
Drop<A>
Lazily skip the first
n elements from an Iterable by returning an Iterable
that begins iteration after the nth element. |
class |
DropWhile<A>
Lazily limit the
Iterable by skipping the first contiguous group of elements that satisfy the predicate,
beginning iteration at the first element for which the predicate evaluates to false . |
class |
Eq<A>
Type-safe equality in function form; uses
Object.equals(java.lang.Object) , not == . |
class |
Filter<A>
Lazily apply a predicate to each element in an
Iterable , returning an Iterable of just the
elements for which the predicate evaluated to true . |
class |
Find<A>
Iterate the elements in an
Iterable , applying a predicate to each one, returning the first element that
matches the predicate, wrapped in a Maybe . |
class |
GroupBy<K,V>
Given an
Iterable<V> vs and a key function V -> K f ,
fold vs into a Map<K, List<V>> by applying f to each element of
vs , retaining values that map to the same key in a list, in the order they were iterated in. |
class |
GT<A extends Comparable<A>>
Given two
Comparable values of type A , return true if the second value is strictly
greater than the first value; otherwise, return false. |
class |
GTE<A extends Comparable<A>>
Given two
Comparable values of type A , return true if the second value is greater
than or equal to the first value according to Comparable.compareTo(Object) ; otherwise, return false. |
class |
InGroupsOf<A>
Lazily group the
Iterable by returning an Iterable of smaller Iterable s of
size k . |
class |
Intersperse<A>
Lazily inject the provided separator value between each value in the supplied
Iterable . |
class |
Into<A,B,C>
Given an
and a , destructure the
entry and apply the key and value as arguments to the function, returning the result. |
class |
Into1<A,B>
Given an
and a , pop the head and
apply it to the function, returning the result. |
class |
Into3<A,B,C,D>
|
class |
Into4<A,B,C,D,E>
|
class |
Into5<A,B,C,D,E,F>
|
class |
Into6<A,B,C,D,E,F,G>
|
class |
Into7<A,B,C,D,E,F,G,H>
|
class |
Into8<A,B,C,D,E,F,G,H,I>
|
class |
Iterate<A>
|
class |
LazyRec<A,B>
|
class |
LT<A extends Comparable<A>>
Given two
Comparable values of type A , return true if the second value is strictly
less than the first value; otherwise, return false. |
class |
LTE<A extends Comparable<A>>
Given two
Comparable values of type A , return true if the second value is less than
or equal to the first value according to Comparable.compareTo(Object) otherwise, return false. |
class |
MagnetizeBy<A>
|
class |
Map<A,B>
Lazily apply a function to each element in an
Iterable , producing an Iterable of the mapped
results. |
class |
Partition<A,B,C>
Given an
Iterable<A> as and a disjoint mapping function a ->
CoProduct2<A, B> , return a Tuple2 over the lazily unwrapped left A and right
B values in the first and second slots, respectively. |
class |
Peek<A,FA extends Functor<A,?>>
|
class |
Peek2<A,B,FAB extends BoundedBifunctor<A,B,? super A,? super B,?>>
Deprecated.
in favor of producing an
IO from the given BoundedBifunctor and explicitly running it |
class |
PrependAll<A>
Lazily prepend each value with of the
Iterable with the supplied separator value. |
class |
ReduceLeft<A>
|
class |
ReduceRight<A>
|
class |
Replicate<A>
Produce an
Iterable of a value n times. |
class |
Sequence<A,App extends Applicative<?,App>,Trav extends Traversable<?,Trav>,TravA extends Traversable<A,Trav>,AppTrav extends Applicative<TravA,App>>
Given a
Traversable of Applicative s and a pure Applicative constructor, traverse the
elements from left to right, zipping the Applicative s together and collecting the results. |
class |
Slide<A>
|
class |
Snoc<A>
|
class |
SortBy<A,B extends Comparable<B>>
Given an
Iterable and some mapping function from the Iterable element type to some
Comparable type, produce a sorted List of the original elements based on sorting applied to the
result of the mapping function. |
class |
SortWith<A>
Given an
Iterable and a Comparator over the Iterable element type, produce a
sorted List of the original elements based on sorting applied by the Comparator . |
class |
Span<A>
|
class |
Take<A>
Lazily limit the
Iterable to n elements by returning an Iterable that stops
iteration after the nth element, or the last element of the Iterable , whichever comes
first. |
class |
TakeWhile<A>
Lazily limit the
Iterable to the first group of contiguous elements that satisfy the predicate by
iterating up to, but not including, the first element for which the predicate evaluates to false . |
class |
ToArray<A>
Write all the elements of an
Iterable directly into an array of the specified type. |
class |
ToCollection<A,C extends Collection<A>>
Given an
Fn0 of some Collection C , create an instance of C and add all of
the elements in the provided Iterable to the instance. |
class |
ToMap<K,V,M extends Map<K,V>>
|
class |
Tupler2<A,B>
Creates a
Tuple2 from two values. |
class |
Unfoldr<A,B>
|
class |
Until<A>
Given a
predicate function for a value of some type A and an IO that yields a value
of type A , produce an IO that repeatedly executes the original IO until the predicate
returns true when applied to the yielded value. |
class |
Zip<A,B>
Zip together two
Iterable s into a single Iterable of Tuple2<A, B> . |
Modifier and Type | Method and Description |
---|---|
static <A,B,FAB extends BoundedBifunctor<A,B,? super A,? super B,?>> |
Peek2.peek2(Fn1<? super A,? extends IO<?>> effectA)
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
Maybe<A> |
ReduceRight.checkedApply(Fn2<? super A,? super A,? extends A> fn,
Iterable<A> as) |
Maybe<A> |
ReduceLeft.checkedApply(Fn2<? super A,? super A,? extends A> fn,
Iterable<A> as) |
Iterable<Iterable<A>> |
MagnetizeBy.checkedApply(Fn2<? super A,? super A,? extends Boolean> predicate,
Iterable<A> as) |
C |
Into.checkedApply(Fn2<? super A,? super B,? extends C> fn,
Map.Entry<A,B> entry) |
Lazy<B> |
LazyRec.checkedApply(Fn2<Kleisli<? super A,? extends B,Lazy<?>,Lazy<B>>,A,Lazy<B>> fn,
A a) |
static <A,B,C> Fn1<Map.Entry<A,B>,C> |
Into.into(Fn2<? super A,? super B,? extends C> fn) |
static <A,B,C> C |
Into.into(Fn2<? super A,? super B,? extends C> fn,
Map.Entry<A,B> entry) |
static <A,B> Kleisli<? super A,? extends B,Lazy<?>,Lazy<B>> |
LazyRec.lazyRec(Fn2<Kleisli<? super A,? extends B,Lazy<?>,Lazy<B>>,A,Lazy<B>> fn) |
static <A,B> Lazy<B> |
LazyRec.lazyRec(Fn2<Kleisli<? super A,? extends B,Lazy<?>,Lazy<B>>,A,Lazy<B>> fn,
A a) |
static <A> Fn1<Iterable<A>,Iterable<Iterable<A>>> |
MagnetizeBy.magnetizeBy(Fn2<? super A,? super A,? extends Boolean> predicate) |
static <A> Iterable<Iterable<A>> |
MagnetizeBy.magnetizeBy(Fn2<? super A,? super A,? extends Boolean> predicate,
Iterable<A> as) |
static <A> Fn1<Iterable<A>,Maybe<A>> |
ReduceLeft.reduceLeft(Fn2<? super A,? super A,? extends A> fn) |
static <A> Maybe<A> |
ReduceLeft.reduceLeft(Fn2<? super A,? super A,? extends A> fn,
Iterable<A> as) |
static <A> Fn1<Iterable<A>,Maybe<A>> |
ReduceRight.reduceRight(Fn2<? super A,? super A,? extends A> fn) |
static <A> Maybe<A> |
ReduceRight.reduceRight(Fn2<? super A,? super A,? extends A> fn,
Iterable<A> as) |
Modifier and Type | Class and Description |
---|---|
class |
Between<A extends Comparable<A>>
Given two bounds and a value, return whether or not the value is greater than or equal to the lower bound and less
than or equal to the upper bound.
|
class |
Bracket<A,B>
Given an
IO that yields some type A , a cleanup operation to run if a value of that type could be
provisioned, and a kleisli arrow from that type to a new IO of type B , produce an
that, when run, will provision the A ,
flatMap it to B , and clean up the original value if it was produced in the
first place. |
class |
Clamp<A extends Comparable<A>>
Given two bounds and a value, "clamp" the value between the bounds via the following algorithm:
- if the value is strictly less than the lower bound, return the lower bound
- if the value is strictly greater than the upper bound, return the upper bound
- otherwise, return the value
|
class |
CmpEqBy<A,B extends Comparable<B>>
Given a mapping function from some type
A to some Comparable type B and two values
of type A , return true if the first value is strictly equal to the second value (according
to Comparable.compareTo(Object) in terms of their mapped B results; otherwise, return false. |
class |
FoldLeft<A,B>
Given an
Iterable of A s, a starting value B , and a
, iteratively accumulate over the Iterable , ultimately returning
a final B value. |
class |
FoldRight<A,B>
|
class |
GTBy<A,B extends Comparable<B>>
Given a mapping function from some type
A to some Comparable type B and two values
of type A , return true if the second value is strictly greater than the first value in
terms of their mapped B results; otherwise, return false. |
class |
GTEBy<A,B extends Comparable<B>>
Given a mapping function from some type
A to some Comparable type B and two values
of type A , return true if the second value is greater than or equal to the first value in
terms of their mapped B results according to Comparable.compareTo(Object) ; otherwise, return
false. |
class |
LiftA2<A,B,C,App extends Applicative<?,App>,AppC extends Applicative<C,App>>
Lift into and apply an
Fn2 to two Applicative values, returning the result inside the same
Applicative context. |
class |
LTBy<A,B extends Comparable<B>>
Given a mapping function from some type
A to some Comparable type B and two values
of type A , return true if the second value is strictly less than the first value in terms
of their mapped B results; otherwise, return false. |
class |
LTEBy<A,B extends Comparable<B>>
Given a mapping function from some type
A to some Comparable type B and two values
of type A , return true if the second value is less than or equal to the first value in
terms of their mapped B results according to Comparable.compareTo(Object) ; otherwise, return
false. |
class |
ScanLeft<A,B>
Given an
Iterable of A s, a starting value B , and a
, iteratively accumulate over the Iterable , collecting each
function application result, finally returning an Iterable of all the results. |
class |
Times<A>
Given some number of times
n to invoke a function A -> A , and given an input
A , iteratively apply the function to the input, and then to the result of the invocation, a total of
n times, returning the result. |
class |
ZipWith<A,B,C>
Zip together two
Iterable s by applying a zipping function to the successive elements of each
Iterable until one of them runs out of elements. |
Modifier and Type | Method and Description |
---|---|
static <A,B> Fn2<Fn1<? super A,? extends IO<?>>,Fn1<? super A,? extends IO<B>>,IO<B>> |
Bracket.bracket(IO<A> io) |
static <A extends Comparable<A>> |
Clamp.clamp(A lower) |
static <A,B> Fn2<B,Iterable<A>,B> |
FoldLeft.foldLeft(Fn2<? super B,? super A,? extends B> fn) |
static <A,B> Fn2<Lazy<B>,Iterable<A>,Lazy<B>> |
FoldRight.foldRight(Fn2<? super A,? super Lazy<B>,? extends Lazy<B>> fn) |
static <A,B,C,App extends Applicative<?,App>,AppC extends Applicative<C,App>> |
LiftA2.liftA2(Fn2<? super A,? super B,? extends C> fn) |
static <A,B> Fn2<B,Iterable<A>,Iterable<B>> |
ScanLeft.scanLeft(Fn2<? super B,? super A,? extends B> fn) |
static <A> Fn2<Fn1<? super A,? extends A>,A,A> |
Times.times(Integer n) |
static <A,B,C> Fn2<Iterable<A>,Iterable<B>,Iterable<C>> |
ZipWith.zipWith(Fn2<? super A,? super B,? extends C> zipper) |
Modifier and Type | Method and Description |
---|---|
AppC |
LiftA2.checkedApply(Fn2<? super A,? super B,? extends C> fn,
Applicative<A,App> appA,
Applicative<B,App> appB) |
Iterable<C> |
ZipWith.checkedApply(Fn2<? super A,? super B,? extends C> zipper,
Iterable<A> as,
Iterable<B> bs) |
Lazy<B> |
FoldRight.checkedApply(Fn2<? super A,? super Lazy<B>,? extends Lazy<B>> fn,
Lazy<B> acc,
Iterable<A> as) |
B |
FoldLeft.checkedApply(Fn2<? super B,? super A,? extends B> fn,
B acc,
Iterable<A> as) |
Iterable<B> |
ScanLeft.checkedApply(Fn2<? super B,? super A,? extends B> fn,
B b,
Iterable<A> as) |
static <A,B> Fn2<B,Iterable<A>,B> |
FoldLeft.foldLeft(Fn2<? super B,? super A,? extends B> fn) |
static <A,B> Fn1<Iterable<A>,B> |
FoldLeft.foldLeft(Fn2<? super B,? super A,? extends B> fn,
B acc) |
static <A,B> B |
FoldLeft.foldLeft(Fn2<? super B,? super A,? extends B> fn,
B acc,
Iterable<A> as) |
static <A,B> Fn2<Lazy<B>,Iterable<A>,Lazy<B>> |
FoldRight.foldRight(Fn2<? super A,? super Lazy<B>,? extends Lazy<B>> fn) |
static <A,B> Fn1<Iterable<A>,Lazy<B>> |
FoldRight.foldRight(Fn2<? super A,? super Lazy<B>,? extends Lazy<B>> fn,
Lazy<B> acc) |
static <A,B> Lazy<B> |
FoldRight.foldRight(Fn2<? super A,? super Lazy<B>,? extends Lazy<B>> fn,
Lazy<B> acc,
Iterable<A> as) |
static <A,B,C,App extends Applicative<?,App>,AppC extends Applicative<C,App>> |
LiftA2.liftA2(Fn2<? super A,? super B,? extends C> fn) |
static <A,B,C,App extends Applicative<?,App>,AppC extends Applicative<C,App>> |
LiftA2.liftA2(Fn2<? super A,? super B,? extends C> fn,
Applicative<A,App> appA) |
static <A,B,C,App extends Applicative<?,App>,AppC extends Applicative<C,App>> |
LiftA2.liftA2(Fn2<? super A,? super B,? extends C> fn,
Applicative<A,App> appA,
Applicative<B,App> appB) |
static <A,B> Fn2<B,Iterable<A>,Iterable<B>> |
ScanLeft.scanLeft(Fn2<? super B,? super A,? extends B> fn) |
static <A,B> Fn1<Iterable<A>,Iterable<B>> |
ScanLeft.scanLeft(Fn2<? super B,? super A,? extends B> fn,
B b) |
static <A,B> Iterable<B> |
ScanLeft.scanLeft(Fn2<? super B,? super A,? extends B> fn,
B b,
Iterable<A> as) |
static <A,B,C> Fn2<Iterable<A>,Iterable<B>,Iterable<C>> |
ZipWith.zipWith(Fn2<? super A,? super B,? extends C> zipper) |
static <A,B,C> Fn1<Iterable<B>,Iterable<C>> |
ZipWith.zipWith(Fn2<? super A,? super B,? extends C> zipper,
Iterable<A> as) |
static <A,B,C> Iterable<C> |
ZipWith.zipWith(Fn2<? super A,? super B,? extends C> zipper,
Iterable<A> as,
Iterable<B> bs) |
Modifier and Type | Class and Description |
---|---|
class |
IfThenElse<A,B> |
class |
LiftA3<A,B,C,D,App extends Applicative<?,App>,AppD extends Applicative<D,App>>
Lift into and apply an
Fn3 to three Applicative values, returning the result inside the same
Applicative context. |
class |
RateLimit<A>
|
Modifier and Type | Method and Description |
---|---|
static <A,B> Fn2<Fn1<? super A,? extends B>,A,B> |
IfThenElse.ifThenElse(Fn1<? super A,? extends Boolean> predicate,
Fn1<? super A,? extends B> thenCase) |
static <A,B,C,D,App extends Applicative<?,App>,AppD extends Applicative<D,App>> |
LiftA3.liftA3(Fn3<A,B,C,D> fn,
Applicative<A,App> appA) |
static <A> Fn2<Duration,Iterable<A>,Iterable<A>> |
RateLimit.rateLimit(Fn0<Instant> instantFn0,
Long limit) |
Modifier and Type | Class and Description |
---|---|
class |
LiftA4<A,B,C,D,E,App extends Applicative<?,App>,AppE extends Applicative<E,App>>
Lift into and apply an
Fn4 to four Applicative values, returning the result inside the same
Applicative context. |
Modifier and Type | Method and Description |
---|---|
static <A,B,C,D,E,App extends Applicative<?,App>,AppE extends Applicative<E,App>> |
LiftA4.liftA4(Fn4<A,B,C,D,E> fn,
Applicative<A,App> appA,
Applicative<B,App> appB) |
Modifier and Type | Class and Description |
---|---|
class |
LiftA5<A,B,C,D,E,F,App extends Applicative<?,App>,AppF extends Applicative<F,App>>
Lift into and apply an
Fn5 to five Applicative values, returning the result inside the same
Applicative context. |
Modifier and Type | Method and Description |
---|---|
static <A,B,C,D,E,F,App extends Applicative<?,App>,AppF extends Applicative<F,App>> |
LiftA5.liftA5(Fn5<A,B,C,D,E,F> fn,
Applicative<A,App> appA,
Applicative<B,App> appB,
Applicative<C,App> appC) |
Modifier and Type | Class and Description |
---|---|
class |
LiftA6<A,B,C,D,E,F,G,App extends Applicative<?,App>,AppG extends Applicative<G,App>>
Lift into and apply an
Fn6 to six Applicative values, returning the result inside the same
Applicative context. |
Modifier and Type | Method and Description |
---|---|
static <A,B,C,D,E,F,G,App extends Applicative<?,App>,AppG extends Applicative<G,App>> |
LiftA6.liftA6(Fn6<A,B,C,D,E,F,G> fn,
Applicative<A,App> appA,
Applicative<B,App> appB,
Applicative<C,App> appC,
Applicative<D,App> appD) |
Modifier and Type | Class and Description |
---|---|
class |
LiftA7<A,B,C,D,E,F,G,H,App extends Applicative<?,App>,AppH extends Applicative<H,App>>
Lift into and apply an
Fn7 to seven Applicative values, returning the result inside the same
Applicative context. |
Modifier and Type | Method and Description |
---|---|
static <A,B,C,D,E,F,G,H,App extends Applicative<?,App>,AppH extends Applicative<H,App>> |
LiftA7.liftA7(Fn7<A,B,C,D,E,F,G,H> fn,
Applicative<A,App> appA,
Applicative<B,App> appB,
Applicative<C,App> appC,
Applicative<D,App> appD,
Applicative<E,App> appE) |
Modifier and Type | Class and Description |
---|---|
class |
Trampoline<A,B>
Given an
(analogous to "recurse" and "return"
tail position instructions, respectively), produce a that unrolls the original
function by iteratively passing each result that matches the input (A ) back to the original function,
and then terminating on and returning the first output (B ). |
Modifier and Type | Interface and Description |
---|---|
interface |
BiMonoidFactory<A,B,C> |
interface |
BiPredicate<A,B>
|
interface |
BiSemigroupFactory<A,B,C> |
interface |
MonoidFactory<A,B> |
interface |
SemigroupFactory<A,B> |
Modifier and Type | Method and Description |
---|---|
default <Z> Fn2<Z,B,Boolean> |
BiPredicate.contraMap(Fn1<? super Z,? extends A> fn)
Contravariantly map
A <- B . |
Modifier and Type | Method and Description |
---|---|
default <Y,Z> BiPredicate<Y,Z> |
Predicate.compose(Fn2<? super Y,? super Z,? extends A> before)
Right-to-left composition between different arity functions.
|
Constructor and Description |
---|
ScanningIterator(Fn2<? super B,? super A,? extends B> scanner,
B b,
Iterator<A> asIterator) |
ZippingIterator(Fn2<? super A,? super B,? extends C> zipper,
Iterator<A> asIterator,
Iterator<B> bsIterator) |
Modifier and Type | Interface and Description |
---|---|
interface |
Monoid<A>
|
Modifier and Type | Class and Description |
---|---|
class |
AddAll<A,C extends Collection<A>>
The
Monoid instance formed under mutative concatenation for an arbitrary Collection . |
class |
And
A
Monoid instance formed by Boolean . |
class |
Collapse<_1,_2>
|
class |
Compose<A>
|
class |
Concat<A>
|
class |
Endo<A>
|
class |
EndoK<M extends MonadRec<?,M>,A,MA extends MonadRec<A,M>>
The monoid formed under monadic endomorphism.
|
class |
First<A>
|
class |
Join
A
Monoid instance formed by String that concats two strings together. |
class |
Last<A>
|
class |
LeftAll<L,R>
|
class |
LeftAny<L,R>
|
class |
Merge<L,R>
A
Monoid 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>...) , a semigroup over L , and a monoid over
R . |
class |
MergeMaps<K,V>
|
class |
Or
A
Monoid instance formed by Boolean . |
class |
Present<A>
|
class |
PutAll
|
class |
RightAll<L,R>
|
class |
RightAny<L,R>
|
class |
RunAll<A>
|
class |
Trivial
|
class |
Union<A>
|
class |
Xor
Logical exclusive-or.
|
Modifier and Type | Method and Description |
---|---|
Fn2<Fn1<A,A>,A,A> |
Endo.apply(Fn1<A,A> f) |
static <A> Fn2<Fn1<A,A>,A,A> |
Endo.endo(Fn1<A,A> f) |
Modifier and Type | Method and Description |
---|---|
static <S,T,A,B> Lens<S,T,A,B> |
Lens.lens(Fn1<? super S,? extends A> getter,
Fn2<? super S,? super B,? extends T> setter)
Static factory method for creating a lens from a getter function and a setter function.
|
static <S,A> Lens.Simple<S,A> |
Lens.simpleLens(Fn1<? super S,? extends A> getter,
Fn2<? super S,? super A,? extends S> setter)
Static factory method for creating a simple lens from a getter function and a setter function.
|
Modifier and Type | Class and Description |
---|---|
class |
Matching<S,T,A,B> |
class |
Over<S,T,A,B>
Given an
Optic , a function from A to B , and a "larger" value S ,
produce a T by retrieving the A from the S , applying the function, and
updating the S with the B resulting from the function. |
class |
Set<S,T,A,B>
|
class |
Under<S,T,A,B>
|
class |
View<S,T,A,B>
|
Modifier and Type | Method and Description |
---|---|
static <S,T,A,B> Fn2<Fn1<? super A,? extends B>,S,T> |
Over.over(Optic<? super Fn1<?,?>,? super Identity<?>,S,T,A,B> optic) |
static <S,T,A,B> Fn2<B,S,T> |
Set.set(Optic<? super Fn1<?,?>,? super Identity<?>,S,T,A,B> optic) |
static <S,T,A,B> Fn2<Fn1<? super T,? extends S>,B,A> |
Under.under(Optic<? super Exchange<A,B,?,?>,? super Identity<?>,S,T,A,B> optic) |
Modifier and Type | Interface and Description |
---|---|
interface |
Semigroup<A>
A
Semigroup is a closed, associative category. |
Modifier and Type | Class and Description |
---|---|
class |
Absent<A>
|
class |
Intersection<A>
|
class |
Max<A extends Comparable<A>>
A
Semigroup over A that chooses between two values x and y via the
following rules:
If x is strictly less than y , return y
Otherwise, return x
|
class |
MaxBy<A,B extends Comparable<B>>
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 less than y in terms of B , return y
Otherwise, return x
|
class |
Min<A extends Comparable<A>>
A
Semigroup over A that chooses between two values x and y via the
following rules:
If x is strictly greater than y , return y
Otherwise, return x
|
class |
MinBy<A,B extends Comparable<B>>
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
|