Uses of Interface
com.jnape.palatable.lambda.functor.Functor
-
-
Uses of Functor in com.jnape.palatable.lambda.adt
Classes in com.jnape.palatable.lambda.adt that implement Functor Modifier and Type Class Description class
Either<L,R>
The binary tagged union, implemented as a specializedCoProduct2
.private static class
Either.Left<L,R>
private static class
Either.Right<L,R>
class
Maybe<A>
The optional type, representing a potentially absent value.private static class
Maybe.Just<A>
private static class
Maybe.Nothing<A>
class
These<A,B>
The coproduct of a coproduct (
) and its product (CoProduct2
<A, B>
), represented as aTuple2
<A, B>
.CoProduct3
<A, B,Tuple2
<A, B>>private static class
These._A<A,B>
private static class
These._B<A,B>
private static class
These.Both<A,B>
class
Try<A>
AMonad
of the evaluation outcome of an expression that might throw.private static class
Try.Failure<A>
private static class
Try.Success<A>
-
Uses of Functor in com.jnape.palatable.lambda.adt.choice
Classes in com.jnape.palatable.lambda.adt.choice that implement Functor Modifier and Type Class Description class
Choice2<A,B>
Canonical ADT representation ofCoProduct2
.private static class
Choice2._A<A,B>
private static class
Choice2._B<A,B>
class
Choice3<A,B,C>
Canonical ADT representation ofCoProduct3
.private static class
Choice3._A<A,B,C>
private static class
Choice3._B<A,B,C>
private static class
Choice3._C<A,B,C>
class
Choice4<A,B,C,D>
Canonical ADT representation ofCoProduct4
.private static class
Choice4._A<A,B,C,D>
private static class
Choice4._B<A,B,C,D>
private static class
Choice4._C<A,B,C,D>
private static class
Choice4._D<A,B,C,D>
class
Choice5<A,B,C,D,E>
Canonical ADT representation ofCoProduct5
.private static class
Choice5._A<A,B,C,D,E>
private static class
Choice5._B<A,B,C,D,E>
private static class
Choice5._C<A,B,C,D,E>
private static class
Choice5._D<A,B,C,D,E>
private static class
Choice5._E<A,B,C,D,E>
class
Choice6<A,B,C,D,E,F>
Canonical ADT representation ofCoProduct6
.private static class
Choice6._A<A,B,C,D,E,F>
private static class
Choice6._B<A,B,C,D,E,F>
private static class
Choice6._C<A,B,C,D,E,F>
private static class
Choice6._D<A,B,C,D,E,F>
private static class
Choice6._E<A,B,C,D,E,F>
private static class
Choice6._F<A,B,C,D,E,F>
class
Choice7<A,B,C,D,E,F,G>
Canonical ADT representation ofCoProduct7
.private static class
Choice7._A<A,B,C,D,E,F,G>
private static class
Choice7._B<A,B,C,D,E,F,G>
private static class
Choice7._C<A,B,C,D,E,F,G>
private static class
Choice7._D<A,B,C,D,E,F,G>
private static class
Choice7._E<A,B,C,D,E,F,G>
private static class
Choice7._F<A,B,C,D,E,F,G>
private static class
Choice7._G<A,B,C,D,E,F,G>
class
Choice8<A,B,C,D,E,F,G,H>
Canonical ADT representation ofCoProduct8
.private static class
Choice8._A<A,B,C,D,E,F,G,H>
private static class
Choice8._B<A,B,C,D,E,F,G,H>
private static class
Choice8._C<A,B,C,D,E,F,G,H>
private static class
Choice8._D<A,B,C,D,E,F,G,H>
private static class
Choice8._E<A,B,C,D,E,F,G,H>
private static class
Choice8._F<A,B,C,D,E,F,G,H>
private static class
Choice8._G<A,B,C,D,E,F,G,H>
private static class
Choice8._H<A,B,C,D,E,F,G,H>
-
Uses of Functor in com.jnape.palatable.lambda.adt.hlist
Classes in com.jnape.palatable.lambda.adt.hlist that implement Functor Modifier and Type Class Description class
SingletonHList<_1>
A singleton HList.class
Tuple2<_1,_2>
A 2-element tuple product type, implemented as a specialized HList.class
Tuple3<_1,_2,_3>
A 3-element tuple product type, implemented as a specialized HList.class
Tuple4<_1,_2,_3,_4>
A 4-element tuple product type, implemented as a specialized HList.class
Tuple5<_1,_2,_3,_4,_5>
A 5-element tuple product type, implemented as a specialized HList.class
Tuple6<_1,_2,_3,_4,_5,_6>
A 6-element tuple product type, implemented as a specialized HList.class
Tuple7<_1,_2,_3,_4,_5,_6,_7>
A 7-element tuple product type, implemented as a specialized HList.class
Tuple8<_1,_2,_3,_4,_5,_6,_7,_8>
An 8-element tuple product type, implemented as a specialized HList. -
Uses of Functor in com.jnape.palatable.lambda.adt.hmap
Subinterfaces of Functor in com.jnape.palatable.lambda.adt.hmap Modifier and Type Interface Description interface
Schema<Values extends HList>
A lens that focuses on theheterogeneous list
of values pointed at by one or moretypesafe keys
that must all exist in the sameHMap
to be collectively extracted.interface
TypeSafeKey<A,B>
An interface representing a parametrized key for use inHMap
s.static interface
TypeSafeKey.Simple<A>
Methods in com.jnape.palatable.lambda.adt.hmap with type parameters of type Functor Modifier and Type Method Description default <CoP extends Profunctor<?,?,? extends Profunctor<?,?,?>>,CoF extends Functor<?,? extends Functor<?,?>>,FB extends Functor<A,? extends CoF>,FT extends Functor<A,? extends CoF>,PAFB extends Profunctor<A,FB,? extends CoP>,PSFT extends Profunctor<A,FT,? extends CoP>>
PSFTTypeSafeKey.Simple. apply(PAFB pafb)
default <CoP extends Profunctor<?,?,? extends Profunctor<?,?,?>>,CoF extends Functor<?,? extends Functor<?,?>>,FB extends Functor<A,? extends CoF>,FT extends Functor<A,? extends CoF>,PAFB extends Profunctor<A,FB,? extends CoP>,PSFT extends Profunctor<A,FT,? extends CoP>>
PSFTTypeSafeKey.Simple. apply(PAFB pafb)
default <CoP extends Profunctor<?,?,? extends Profunctor<?,?,?>>,CoF extends Functor<?,? extends Functor<?,?>>,FB extends Functor<A,? extends CoF>,FT extends Functor<A,? extends CoF>,PAFB extends Profunctor<A,FB,? extends CoP>,PSFT extends Profunctor<A,FT,? extends CoP>>
PSFTTypeSafeKey.Simple. apply(PAFB pafb)
default <CoP extends Profunctor<?,?,? extends Profunctor<?,?,?>>,CoF extends Functor<?,? extends Functor<?,?>>,FB extends Functor<A,? extends CoF>,FT extends Functor<A,? extends CoF>,PAFB extends Profunctor<A,FB,? extends CoP>,PSFT extends Profunctor<A,FT,? extends CoP>>
PSFTTypeSafeKey.Simple. apply(PAFB pafb)
-
Uses of Functor in com.jnape.palatable.lambda.functions
Subinterfaces of Functor in com.jnape.palatable.lambda.functions Modifier and Type Interface Description interface
Effect<A>
A function returning "no result", and therefore only useful as a side-effect.interface
Fn0<A>
interface
Fn1<A,B>
A function taking a single argument.interface
Fn2<A,B,C>
A function taking two arguments.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 seven arguments.interface
Fn8<A,B,C,D,E,F,G,H,I>
A function taking eight arguments. -
Uses of Functor in com.jnape.palatable.lambda.functions.builtin.fn1
Classes in com.jnape.palatable.lambda.functions.builtin.fn1 that implement Functor Modifier and Type Class Description class
CatMaybes<A>
Given an
, return anIterable
<Maybe
<A>>
of only the present values.Iterable
<A>class
Coalesce<L,R>
class
Constantly<A,B>
A function that takes two arguments and always returns the first argument.class
Cycle<A>
Given anIterable
, return an infiniteIterable
that repeatedly cycles its elements, in order.class
Distinct<A>
Return anIterable
of the distinct values from the given inputIterable
.class
Downcast<A extends B,B>
Covariantly cast a value of typeB
to a value of subtypeA
.class
Empty<A>
A predicate that returns true ifas
is empty; false otherwise.class
Flatten<A>
Given a nestedIterable
ofIterable
s, return a lazily flatteningIterable
of the nested elements.class
Force<A>
Deprecated.in favor oftraversing
into anIO
and running itclass
Head<A>
Retrieve the head element of anIterable
, wrapped in anMaybe
.class
Id<A>
The identity function.class
Init<A>
Given an
, produce anIterable
<A>
of all elements but the last one.Iterable
<A>class
Inits<A>
Given an
, produce anIterable
<A>
, representing all of the subsequences of initial elements, ordered by size, starting with the emptyIterable
<Iterable
<A>>Iterable
.class
Last<A>
Retrieve the last element of anIterable
, wrapped in aMaybe
.class
Magnetize<A>
Magnetize
anIterable
using value equality as the magnetizing function.class
Not<A>
Negate a predicate function.class
Occurrences<A>
Given an
, return aIterable
<A>
representing each unique element in theMap
<A, Long>Iterable
paired with its number of occurrences.class
Repeat<A>
Given a value, return an infiniteIterable
that repeatedly iterates that value.class
Reverse<A>
Given anIterable
, return a reversed representation of thatIterable
.class
Size
class
Sort<A extends java.lang.Comparable<A>>
Given anIterable
ofComparable
elements, return aList
of the sorted elements.class
Tail<A>
Returns the tail of anIterable
; the is, anIterable
of all the elements except for the head element.class
Tails<A>
Given an
, produce anIterable
<A>
, representing all of the subsequences of tail elements, ordered by size, starting with the fullIterable
<Iterable
<A>>Iterable
.class
Uncons<A>
class
Upcast<A extends B,B>
Upcast a value of typeB
to a value of typeA
thatB
extends. -
Uses of Functor in com.jnape.palatable.lambda.functions.builtin.fn2
Classes in com.jnape.palatable.lambda.functions.builtin.fn2 with type parameters of type Functor Modifier and Type Class Description class
Peek<A,FA extends Functor<A,?>>
Classes in com.jnape.palatable.lambda.functions.builtin.fn2 that implement Functor Modifier and Type Class Description class
$<A,B>
class
All<A>
Eagerly apply a predicate to each element in anIterable
, returningtrue
if every element satisfies the predicate, andfalse
otherwise.class
Alter<A>
class
Any<A>
Eagerly apply a predicate to each element in anIterable
, returningtrue
if any element satisfies the predicate, andfalse
otherwise.class
AutoBracket<A extends java.lang.AutoCloseable,B>
class
Both<A,B,C>
class
CartesianProduct<A,B>
Lazily compute the cartesian product of anIterable<A>
andIterable<B>
, returning anIterable<Tuple2<A, B>>
, the products as tuples of multiplicandA
s and multiplierB
s.class
CmpEq<A extends java.lang.Comparable<A>>
Given twoComparable
values of typeA
, returntrue
if the first value is strictly equal to the second value (according toComparable.compareTo(Object)
; otherwise, return false.class
Cons<A>
Prepend an element to anIterable
.class
Difference<A>
class
Drop<A>
Lazily skip the firstn
elements from anIterable
by returning anIterable
that begins iteration after thenth
element.class
DropWhile<A>
Lazily limit theIterable
by skipping the first contiguous group of elements that satisfy the predicate, beginning iteration at the first element for which the predicate evaluates tofalse
.class
Eq<A>
Type-safe equality in function form; usesObject.equals(java.lang.Object)
, not==
.class
Filter<A>
Lazily apply a predicate to each element in anIterable
, returning anIterable
of just the elements for which the predicate evaluated totrue
.class
Find<A>
Iterate the elements in anIterable
, applying a predicate to each one, returning the first element that matches the predicate, wrapped in aMaybe
.class
GroupBy<K,V>
Given anIterable<V>
vs
and a key functionV -> K
f
, foldvs
into aMap<K, List<V>>
by applyingf
to each element ofvs
, retaining values that map to the same key in a list, in the order they were iterated in.class
GT<A extends java.lang.Comparable<A>>
Given twoComparable
values of typeA
, returntrue
if the second value is strictly greater than the first value; otherwise, return false.class
GTE<A extends java.lang.Comparable<A>>
Given twoComparable
values of typeA
, returntrue
if the second value is greater than or equal to the first value according toComparable.compareTo(Object)
; otherwise, return false.class
InGroupsOf<A>
Lazily group theIterable
by returning anIterable
of smallerIterable
s of sizek
.class
Intersperse<A>
Lazily inject the provided separator value between each value in the suppliedIterable
.class
Into<A,B,C>
Given an
and aFn2
<A, B, C>
, destructure the entry and apply the key and value as arguments to the function, returning the result.Map.Entry
<A, B>class
Into1<A,B>
Given an
and aFn1
<A, B>
, pop the head and apply it to the function, returning the result.SingletonHList
<A>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>
Lazily generate an infiniteIterable
from the successive applications of the function first to the initial seed value, then to the result, and so on; i.e., the result ofiterate(x -> x + 1, 0)
would produce an infiniteIterable
over the elements0, 1, 2, 3, ...
class
LazyRec<A,B>
class
LT<A extends java.lang.Comparable<A>>
Given twoComparable
values of typeA
, returntrue
if the second value is strictly less than the first value; otherwise, return false.class
LTE<A extends java.lang.Comparable<A>>
Given twoComparable
values of typeA
, returntrue
if the second value is less than or equal to the first value according toComparable.compareTo(Object)
otherwise, return false.class
MagnetizeBy<A>
Given a binary predicate and an
, return anIterable
<A>
of the contiguous groups of elements that match the predicate pairwise.Iterable
<Iterable
<A>>class
Map<A,B>
Lazily apply a function to each element in anIterable
, producing anIterable
of the mapped results.class
Partition<A,B,C>
Given anIterable<A>
as
and a disjoint mapping functiona -> CoProduct2<A, B>
, return aTuple2
over the lazily unwrapped leftA
and rightB
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 anIO
from the givenBoundedBifunctor
and explicitly running itclass
PrependAll<A>
Lazily prepend each value with of theIterable
with the supplied separator value.class
ReduceLeft<A>
class
ReduceRight<A>
class
Replicate<A>
Produce anIterable
of a valuen
times.class
Sequence<A,App extends Applicative<?,App>,Trav extends Traversable<?,Trav>,TravA extends Traversable<A,Trav>,AppTrav extends Applicative<TravA,App>>
Given aTraversable
ofApplicative
s and a pureApplicative
constructor, traverse the elements from left to right, zipping theApplicative
s together and collecting the results.class
Slide<A>
Given an
, "slide" a window ofIterable
<A>k
elements across theIterable
by one element at a time, returning an
.Iterable
<Iterable
<A>>class
Snoc<A>
Opposite ofCons
: lazily append an element to the end of the givenIterable
.class
SortBy<A,B extends java.lang.Comparable<B>>
Given anIterable
and some mapping function from theIterable
element type to someComparable
type, produce a sortedList
of the original elements based on sorting applied to the result of the mapping function.class
SortWith<A>
Given anIterable
and aComparator
over theIterable
element type, produce a sortedList
of the original elements based on sorting applied by theComparator
.class
Span<A>
Given a predicate, return aTuple2
where the first slot is the front contiguous elements of anIterable
matching the predicate and the second slot is all the remaining elements.class
Take<A>
Lazily limit theIterable
ton
elements by returning anIterable
that stops iteration after thenth
element, or the last element of theIterable
, whichever comes first.class
TakeWhile<A>
Lazily limit theIterable
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 tofalse
.class
ToArray<A>
Write all the elements of anIterable
directly into an array of the specified type.class
ToCollection<A,C extends java.util.Collection<A>>
Given anFn0
of someCollection
C
, create an instance ofC
and add all of the elements in the providedIterable
to the instance.class
ToMap<K,V,M extends java.util.Map<K,V>>
Given anFn0
of someMap
M
, create an instance ofM
and put all of the entries in the providedIterable
into the instance.class
Tupler2<A,B>
Creates aTuple2
from two values.class
Unfoldr<A,B>
class
Until<A>
Given apredicate function
for a value of some typeA
and anIO
that yields a value of typeA
, produce anIO
that repeatedly executes the originalIO
until the predicate returns true when applied to the yielded value.class
Zip<A,B>
Zip together twoIterable
s into a singleIterable
ofTuple2<A, B>
.Methods in com.jnape.palatable.lambda.functions.builtin.fn2 with type parameters of type Functor Modifier and Type Method Description static <A,FA extends Functor<A,?>>
Peek<A,FA>Peek. peek()
Deprecated.static <A,FA extends Functor<A,?>>
Fn1<FA,FA>Peek. peek(Fn1<? super A,? extends IO<?>> effect)
Deprecated.static <A,FA extends Functor<A,?>>
FAPeek. peek(Fn1<? super A,? extends IO<?>> effect, FA fa)
Deprecated. -
Uses of Functor in com.jnape.palatable.lambda.functions.builtin.fn3
Classes in com.jnape.palatable.lambda.functions.builtin.fn3 that implement Functor Modifier and Type Class Description class
Between<A extends java.lang.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 anIO
that yields some typeA
, a cleanup operation to run if a value of that type could be provisioned, and a kleisli arrow from that type to a newIO
of typeB
, produce an
that, when run, will provision theIO
<B>A
,flatMap
it toB
, and clean up the original value if it was produced in the first place.class
Clamp<A extends java.lang.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 valueclass
CmpEqBy<A,B extends java.lang.Comparable<B>>
Given a mapping function from some typeA
to someComparable
typeB
and two values of typeA
, returntrue
if the first value is strictly equal to the second value (according toComparable.compareTo(Object)
in terms of their mappedB
results; otherwise, return false.class
CmpEqWith<A>
Given aComparator
from some typeA
and two values of typeA
, returntrue
if the first value is strictly equal to the second value (according toComparator.compare(Object, Object)
otherwise, return false.class
Compare<A>
Given aComparator
from some typeA
and two values of typeA
, return aComparisonRelation
of the first value with reference to the second value (according toComparator.compare(Object, Object)
.class
FoldLeft<A,B>
Given anIterable
ofA
s, a starting valueB
, and a
, iteratively accumulate over theFn2
<B, A, B>Iterable
, ultimately returning a finalB
value.class
FoldRight<A,B>
class
GTBy<A,B extends java.lang.Comparable<B>>
Given a mapping function from some typeA
to someComparable
typeB
and two values of typeA
, returntrue
if the second value is strictly greater than the first value in terms of their mappedB
results; otherwise, return false.class
GTEBy<A,B extends java.lang.Comparable<B>>
Given a mapping function from some typeA
to someComparable
typeB
and two values of typeA
, returntrue
if the second value is greater than or equal to the first value in terms of their mappedB
results according toComparable.compareTo(Object)
; otherwise, return false.class
GTEWith<A>
Given aComparator
from some typeA
and two values of typeA
, returntrue
if the second value is greater than or equal to the first value in terms of their mappedB
results according toComparator.compare(Object, Object)
; otherwise, return false.class
GTWith<A>
Given aComparator
from some typeA
and two values of typeA
, returntrue
if the second value is strictly greater than the first value in terms of their mappedB
results; otherwise, return false.class
LiftA2<A,B,C,App extends Applicative<?,App>,AppC extends Applicative<C,App>>
Lift into and apply anFn2
to twoApplicative
values, returning the result inside the sameApplicative
context.class
LTBy<A,B extends java.lang.Comparable<B>>
Given a mapping function from some typeA
to someComparable
typeB
and two values of typeA
, returntrue
if the second value is strictly less than the first value in terms of their mappedB
results; otherwise, return false.class
LTEBy<A,B extends java.lang.Comparable<B>>
Given a mapping function from some typeA
to someComparable
typeB
and two values of typeA
, returntrue
if the second value is less than or equal to the first value in terms of their mappedB
results according toComparable.compareTo(Object)
; otherwise, return false.class
LTEWith<A>
Given aComparator
from some typeA
and two values of typeA
, returntrue
if the second value is less than or equal to the first value in terms of their mappedB
results according toComparator.compare(Object, Object)
; otherwise, return false.class
LTWith<A>
Given a comparator for some typeA
and two values of typeA
, returntrue
if the second value is strictly less than than the first value in terms of their mappedB
results; otherwise, return false.class
ScanLeft<A,B>
Given anIterable
ofA
s, a starting valueB
, and a
, iteratively accumulate over theFn2
<B, A, B>Iterable
, collecting each function application result, finally returning anIterable
of all the results.class
Times<A>
Given some number of timesn
to invoke a functionA -> A
, and given an inputA
, iteratively apply the function to the input, and then to the result of the invocation, a total ofn
times, returning the result.class
ZipWith<A,B,C>
Zip together twoIterable
s by applying a zipping function to the successive elements of eachIterable
until one of them runs out of elements. -
Uses of Functor in com.jnape.palatable.lambda.functions.builtin.fn4
Classes in com.jnape.palatable.lambda.functions.builtin.fn4 that implement Functor Modifier and Type Class Description class
IfThenElse<A,B>
class
LiftA3<A,B,C,D,App extends Applicative<?,App>,AppD extends Applicative<D,App>>
Lift into and apply anFn3
to threeApplicative
values, returning the result inside the sameApplicative
context.class
RateLimit<A>
-
Uses of Functor in com.jnape.palatable.lambda.functions.builtin.fn5
Classes in com.jnape.palatable.lambda.functions.builtin.fn5 that implement Functor Modifier and Type Class Description class
LiftA4<A,B,C,D,E,App extends Applicative<?,App>,AppE extends Applicative<E,App>>
Lift into and apply anFn4
to fourApplicative
values, returning the result inside the sameApplicative
context. -
Uses of Functor in com.jnape.palatable.lambda.functions.builtin.fn6
Classes in com.jnape.palatable.lambda.functions.builtin.fn6 that implement Functor Modifier and Type Class Description class
LiftA5<A,B,C,D,E,F,App extends Applicative<?,App>,AppF extends Applicative<F,App>>
Lift into and apply anFn5
to fiveApplicative
values, returning the result inside the sameApplicative
context. -
Uses of Functor in com.jnape.palatable.lambda.functions.builtin.fn7
Classes in com.jnape.palatable.lambda.functions.builtin.fn7 that implement Functor Modifier and Type Class Description class
LiftA6<A,B,C,D,E,F,G,App extends Applicative<?,App>,AppG extends Applicative<G,App>>
Lift into and apply anFn6
to sixApplicative
values, returning the result inside the sameApplicative
context. -
Uses of Functor in com.jnape.palatable.lambda.functions.builtin.fn8
Classes in com.jnape.palatable.lambda.functions.builtin.fn8 that implement Functor Modifier and Type Class Description class
LiftA7<A,B,C,D,E,F,G,H,App extends Applicative<?,App>,AppH extends Applicative<H,App>>
Lift into and apply anFn7
to sevenApplicative
values, returning the result inside the sameApplicative
context. -
Uses of Functor in com.jnape.palatable.lambda.functions.recursion
Classes in com.jnape.palatable.lambda.functions.recursion that implement Functor Modifier and Type Class Description class
RecursiveResult<A,B>
SpecializedCoProduct2
representing the possible results of a primitive recursive function.(package private) static class
RecursiveResult.Recurse<A,B>
(package private) static class
RecursiveResult.Terminate<A,B>
class
Trampoline<A,B>
Given an
(analogous to "recurse" and "return" tail position instructions, respectively), produce aFn1
<A,CoProduct2
<A, B, ?>>
that unrolls the original function by iteratively passing each result that matches the input (Fn1
<A, B>A
) back to the original function, and then terminating on and returning the first output (B
). -
Uses of Functor in com.jnape.palatable.lambda.functions.specialized
Classes in com.jnape.palatable.lambda.functions.specialized with type parameters of type Functor Modifier and Type Interface Description interface
Pure<F extends Functor<?,? extends F>>
Generalized, portableApplicative.pure(Object)
, with a loosenedFunctor
constraint.Subinterfaces of Functor in com.jnape.palatable.lambda.functions.specialized Modifier and Type Interface Description interface
BiMonoidFactory<A,B,C>
interface
BiPredicate<A,B>
interface
BiSemigroupFactory<A,B,C>
interface
Kleisli<A,B,M extends Monad<?,M>,MB extends Monad<B,M>>
interface
MonoidFactory<A,B>
interface
Predicate<A>
A specializedFn1
that returns aBoolean
.interface
SemigroupFactory<A,B>
Methods in com.jnape.palatable.lambda.functions.specialized with type parameters of type Functor Modifier and Type Method Description default <A,FA extends Functor<A,? extends F>>
FAPure. apply(A a)
static <F extends Functor<?,? extends F>>
Pure<F>Pure. pure(Pure<F> pure)
Static method to aid inference.Methods in com.jnape.palatable.lambda.functions.specialized that return Functor Modifier and Type Method Description <A> Functor<A,? extends F>
Pure. checkedApply(A a)
-
Uses of Functor in com.jnape.palatable.lambda.functor
Classes in com.jnape.palatable.lambda.functor with type parameters of type Functor Modifier and Type Interface Description interface
Functor<A,F extends Functor<?,F>>
An interface for the generic covariant functorial operationmap
over some parameterA
.Subinterfaces of Functor in com.jnape.palatable.lambda.functor Modifier and Type Interface Description interface
Applicative<A,App extends Applicative<?,App>>
An interface representing applicative functors - functors that can have their results combined with other functors of the same instance in a context-free manner.Methods in com.jnape.palatable.lambda.functor with type parameters of type Functor Modifier and Type Method Description default <Concrete extends Functor<A,F>>
ConcreteFunctor. coerce()
Convenience method for coercing this functor instance into another concrete type.Methods in com.jnape.palatable.lambda.functor that return Functor Modifier and Type Method Description <B> Functor<B,F>
Functor. fmap(Fn1<? super A,? extends B> fn)
Covariantly transmute this functor's parameter using the given mapping function. -
Uses of Functor in com.jnape.palatable.lambda.functor.builtin
Classes in com.jnape.palatable.lambda.functor.builtin that implement Functor Modifier and Type Class Description class
Compose<F extends Applicative<?,F>,G extends Applicative<?,G>,A>
A functor representing the type-level composition of twoApplicative
functors; useful for preserving nested type-level transformations during traversal of aTraversable
.class
Const<A,B>
A (surprisingly useful) functor over some phantom typeB
, retaining a value of typeA
that can be retrieved later.class
Identity<A>
A functor over some value of typeA
that can be mapped over and retrieved later.class
Lazy<A>
AMonad
representing a lazily-computed value.private static class
Lazy.Compose<A>
private static class
Lazy.Later<A>
class
Market<A,B,S,T>
A profunctor used to extract the isomorphic functions aPrism
is composed of.class
State<S,A>
The stateMonad
, useful for iteratively building up state and state-contextualized result.class
Tagged<S,B>
LikeConst
, but the phantom parameter is in the contravariant position, and the value is in covariant position.class
Writer<W,A>
The lazy writer monad, a monad capturing some accumulation (eventually to be folded in terms of a given monoid) and a value. -
Uses of Functor in com.jnape.palatable.lambda.io
Classes in com.jnape.palatable.lambda.io that implement Functor Modifier and Type Class Description class
IO<A>
AMonad
representing some side-effecting computation to be performed.private static class
IO.Compose<A>
-
Uses of Functor in com.jnape.palatable.lambda.monad
Subinterfaces of Functor in com.jnape.palatable.lambda.monad Modifier and Type Interface Description interface
Monad<A,M extends Monad<?,M>>
Monads areApplicative
functors that support a flattening operation to unwrapM<M<A>> -> M<A>
.interface
MonadError<E,A,M extends MonadError<E,?,M>>
An interface formonads
that can be interrupted with some type of error.interface
MonadReader<R,A,MR extends MonadReader<R,?,MR>>
A monad that is capable of reading an environmentR
and producing a lifted valueA
.interface
MonadRec<A,M extends MonadRec<?,M>>
A class ofmonads
that offer a stack-safe interface for performing arbitrarily manyflatmap-like
operations viaMonadRec.trampolineM(Fn1)
.interface
MonadWriter<W,A,MW extends MonadWriter<W,?,MW>>
AMonad
that is capable of writing and accumulating state alongside a value, but is not necessarily capable of simultaneously accessing the state and the value.Classes in com.jnape.palatable.lambda.monad that implement Functor Modifier and Type Class Description class
SafeT<M extends MonadRec<?,M>,A>
A stack-safemonad transformer
that can safely interpret deeply nested left- or right-associated binds for anyMonadRec
. -
Uses of Functor in com.jnape.palatable.lambda.monad.transformer
Subinterfaces of Functor in com.jnape.palatable.lambda.monad.transformer Modifier and Type Interface Description interface
MonadT<M extends MonadRec<?,M>,A,MT extends MonadT<M,?,MT,T>,T extends MonadT<?,?,?,T>>
-
Uses of Functor in com.jnape.palatable.lambda.monad.transformer.builtin
Classes in com.jnape.palatable.lambda.monad.transformer.builtin that implement Functor Modifier and Type Class Description class
EitherT<M extends MonadRec<?,M>,L,R>
Amonad transformer
forEither
.class
IdentityT<M extends MonadRec<?,M>,A>
Amonad transformer
forIdentity
.class
IterateT<M extends MonadRec<?,M>,A>
Amonad transformer
over a co-inductive, singly-linked spine of values embedded in effects.class
LazyT<M extends MonadRec<?,M>,A>
Amonad transformer
forLazy
.class
MaybeT<M extends MonadRec<?,M>,A>
Amonad transformer
forMaybe
.class
ReaderT<R,M extends MonadRec<?,M>,A>
class
StateT<S,M extends MonadRec<?,M>,A>
TheState
monad transformer
.class
WriterT<W,M extends MonadRec<?,M>,A>
Amonad transformer
forWriter
. -
Uses of Functor in com.jnape.palatable.lambda.monoid
Subinterfaces of Functor in com.jnape.palatable.lambda.monoid Modifier and Type Interface Description interface
Monoid<A>
-
Uses of Functor in com.jnape.palatable.lambda.monoid.builtin
Classes in com.jnape.palatable.lambda.monoid.builtin that implement Functor Modifier and Type Class Description class
AddAll<A,C extends java.util.Collection<A>>
TheMonoid
instance formed under mutative concatenation for an arbitraryCollection
.class
And
AMonoid
instance formed byBoolean
.class
Collapse<_1,_2>
class
Compose<A>
class
Concat<A>
TheMonoid
instance formed under concatenation for an arbitraryIterable
.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
AMonoid
instance formed byString
that concats two strings together.class
Last<A>
class
LeftAll<L,R>
class
LeftAny<L,R>
class
Merge<L,R>
AMonoid
instance formed byEither.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 overL
, and a monoid overR
.class
MergeHMaps
AMonoid
instance formed by mergingHMaps
using the chosenTypeSafeKey
->Semigroup
mappings
, defaulting toLast
in case noSemigroup
has been chosen for a givenTypeSafeKey
.class
MergeMaps<K,V>
class
Or
AMonoid
instance formed byBoolean
.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. -
Uses of Functor in com.jnape.palatable.lambda.optics
Classes in com.jnape.palatable.lambda.optics with type parameters of type Functor Modifier and Type Interface Description interface
Optic<P extends Profunctor<?,?,? extends P>,F extends Functor<?,? extends F>,S,T,A,B>
A generic supertype representation for profunctor optics.static interface
Optic.Simple<P extends Profunctor<?,?,? extends P>,F extends Functor<?,? extends F>,S,A>
Subinterfaces of Functor in com.jnape.palatable.lambda.optics Modifier and Type Interface Description interface
Iso<S,T,A,B>
static interface
Iso.Simple<S,A>
A convenience type with a simplified type signature for common isos with both unified "larger" values and unified "smaller" values.interface
Lens<S,T,A,B>
An approximation of van Laarhoven lenses.static interface
Lens.Simple<S,A>
A convenience type with a simplified type signature for common lenses with both unified "larger" values and unified "smaller" values.interface
Prism<S,T,A,B>
Prisms areIsos
that can fail in one direction.static interface
Prism.Simple<S,A>
A convenience type with a simplified type signature for commonprism
with unifiedS/T
andA/B
types.Methods in com.jnape.palatable.lambda.optics with type parameters of type Functor Modifier and Type Method Description static <P extends Profunctor<?,?,? extends P>,F extends Functor<?,? extends F>,S,A>
Optic.Simple<P,F,S,A>Optic.Simple. adapt(Optic<? super P,? super F,S,S,A,A> optic)
Adapt anOptic
with S/T and A/B unified into asimple optic
.<CoP extends Profunctor<?,?,? extends P>,CoF extends Functor<?,? extends F>,FB extends Functor<B,? extends CoF>,FT extends Functor<T,? extends CoF>,PAFB extends Profunctor<A,FB,? extends CoP>,PSFT extends Profunctor<S,FT,? extends CoP>>
PSFTOptic. apply(PAFB pafb)
The polymorphic arrow between profunctors in this optic interface.<CoP extends Profunctor<?,?,? extends P>,CoF extends Functor<?,? extends F>,FB extends Functor<B,? extends CoF>,FT extends Functor<T,? extends CoF>,PAFB extends Profunctor<A,FB,? extends CoP>,PSFT extends Profunctor<S,FT,? extends CoP>>
PSFTOptic. apply(PAFB pafb)
The polymorphic arrow between profunctors in this optic interface.<CoP extends Profunctor<?,?,? extends P>,CoF extends Functor<?,? extends F>,FB extends Functor<B,? extends CoF>,FT extends Functor<T,? extends CoF>,PAFB extends Profunctor<A,FB,? extends CoP>,PSFT extends Profunctor<S,FT,? extends CoP>>
PSFTOptic. apply(PAFB pafb)
The polymorphic arrow between profunctors in this optic interface.default <CoP extends Profunctor<?,?,? extends Cocartesian<?,?,?>>,CoF extends Functor<?,? extends Identity<?>>,FB extends Functor<B,? extends CoF>,FT extends Functor<T,? extends CoF>,PAFB extends Profunctor<A,FB,? extends CoP>,PSFT extends Profunctor<S,FT,? extends CoP>>
PSFTPrism. apply(PAFB pafb)
The polymorphic arrow between profunctors in this optic interface.default <CoP extends Profunctor<?,?,? extends Cocartesian<?,?,?>>,CoF extends Functor<?,? extends Identity<?>>,FB extends Functor<B,? extends CoF>,FT extends Functor<T,? extends CoF>,PAFB extends Profunctor<A,FB,? extends CoP>,PSFT extends Profunctor<S,FT,? extends CoP>>
PSFTPrism. apply(PAFB pafb)
The polymorphic arrow between profunctors in this optic interface.default <CoP extends Profunctor<?,?,? extends Cocartesian<?,?,?>>,CoF extends Functor<?,? extends Identity<?>>,FB extends Functor<B,? extends CoF>,FT extends Functor<T,? extends CoF>,PAFB extends Profunctor<A,FB,? extends CoP>,PSFT extends Profunctor<S,FT,? extends CoP>>
PSFTPrism. apply(PAFB pafb)
The polymorphic arrow between profunctors in this optic interface.default <CoP extends Profunctor<?,?,? extends P>,CoF extends Functor<?,? extends Identity<?>>,FB extends Functor<B,? extends CoF>,FT extends Functor<T,? extends CoF>,PAFB extends Profunctor<A,FB,? extends CoP>,PSFT extends Profunctor<S,FT,? extends CoP>>
PSFTProtoOptic. apply(PAFB pafb)
The polymorphic arrow between profunctors in this optic interface.default <CoP extends Profunctor<?,?,? extends P>,CoF extends Functor<?,? extends Identity<?>>,FB extends Functor<B,? extends CoF>,FT extends Functor<T,? extends CoF>,PAFB extends Profunctor<A,FB,? extends CoP>,PSFT extends Profunctor<S,FT,? extends CoP>>
PSFTProtoOptic. apply(PAFB pafb)
The polymorphic arrow between profunctors in this optic interface.default <CoP extends Profunctor<?,?,? extends P>,CoF extends Functor<?,? extends Identity<?>>,FB extends Functor<B,? extends CoF>,FT extends Functor<T,? extends CoF>,PAFB extends Profunctor<A,FB,? extends CoP>,PSFT extends Profunctor<S,FT,? extends CoP>>
PSFTProtoOptic. apply(PAFB pafb)
The polymorphic arrow between profunctors in this optic interface.default <CoP extends Profunctor<?,?,? extends P>,CoF extends Functor<?,? extends F>,FB extends Functor<B,? extends CoF>,FT extends Functor<T,? extends CoF>,PAFB extends Profunctor<A,FB,? extends CoP>,PSFT extends Profunctor<S,FT,? extends CoP>>
Fn1<PAFB,PSFT>Optic. monomorphize()
default <CoP extends Profunctor<?,?,? extends P>,CoF extends Functor<?,? extends F>,FB extends Functor<B,? extends CoF>,FT extends Functor<T,? extends CoF>,PAFB extends Profunctor<A,FB,? extends CoP>,PSFT extends Profunctor<S,FT,? extends CoP>>
Fn1<PAFB,PSFT>Optic. monomorphize()
default <CoP extends Profunctor<?,?,? extends P>,CoF extends Functor<?,? extends F>,FB extends Functor<B,? extends CoF>,FT extends Functor<T,? extends CoF>,PAFB extends Profunctor<A,FB,? extends CoP>,PSFT extends Profunctor<S,FT,? extends CoP>>
Fn1<PAFB,PSFT>Optic. monomorphize()
static <P extends Profunctor<?,?,? extends P>,F extends Functor<?,? extends F>,S,T,A,B,FB extends Functor<B,? extends F>,FT extends Functor<T,? extends F>,PAFB extends Profunctor<A,FB,? extends P>,PSFT extends Profunctor<S,FT,? extends P>>
Optic<P,F,S,T,A,B>Optic. optic(Fn1<PAFB,PSFT> fn)
Promote a monomorphic function to a compatibleOptic
.static <P extends Profunctor<?,?,? extends P>,F extends Functor<?,? extends F>,S,T,A,B,FB extends Functor<B,? extends F>,FT extends Functor<T,? extends F>,PAFB extends Profunctor<A,FB,? extends P>,PSFT extends Profunctor<S,FT,? extends P>>
Optic<P,F,S,T,A,B>Optic. optic(Fn1<PAFB,PSFT> fn)
Promote a monomorphic function to a compatibleOptic
.static <P extends Profunctor<?,?,? extends P>,F extends Functor<?,? extends F>,S,T,A,B,FB extends Functor<B,? extends F>,FT extends Functor<T,? extends F>,PAFB extends Profunctor<A,FB,? extends P>,PSFT extends Profunctor<S,FT,? extends P>>
Optic<P,F,S,T,A,B>Optic. optic(Fn1<PAFB,PSFT> fn)
Promote a monomorphic function to a compatibleOptic
.static <P extends Profunctor<?,?,? extends P>,F extends Functor<?,? extends F>,S,T,A,B>
Optic<P,F,S,T,A,B>Optic. reframe(Optic<? super P,? super F,S,T,A,B> optic)
Reframe anOptic
according to covariant bounds.Method parameters in com.jnape.palatable.lambda.optics with type arguments of type Functor Modifier and Type Method Description static <S,A>
Iso.Simple<S,A>Iso.Simple. adapt(Optic<? super Profunctor<?,?,?>,? super Functor<?,?>,S,S,A,A> optic)
Adapt anOptic
with the right variance to anIso.Simple
.static <S,A>
Lens.Simple<S,A>Lens.Simple. adapt(Optic<? super Cartesian<?,?,?>,? super Functor<?,?>,S,S,A,A> lens)
Adapt aLens
with the right variance to aLens.Simple
.static <S,A>
Prism.Simple<S,A>Prism.Simple. adapt(Optic<? super Cocartesian<?,?,?>,? super Functor<?,?>,S,S,A,A> optic)
Adapt anOptic
with compatible bounds to asimple Prism
.default <Z,C>
Iso<S,T,Z,C>Iso. andThen(Optic<? super Profunctor<?,?,?>,? super Functor<?,?>,A,B,Z,C> f)
Left-to-right composition of optics.default <B> Iso.Simple<S,B>
Iso.Simple. andThen(Optic.Simple<? super Profunctor<?,?,?>,? super Functor<?,?>,A,B> f)
Compose two simple optics from left to right.default <C,D>
Lens<S,T,C,D>Lens. andThen(Optic<? super Cartesian<?,?,?>,? super Functor<?,?>,A,B,C,D> f)
Left-to-right composition of optics.default <B> Lens.Simple<S,B>
Lens.Simple. andThen(Optic.Simple<? super Cartesian<?,?,?>,? super Functor<?,?>,A,B> f)
Compose two simple optics from left to right.default <R,U>
Iso<R,U,A,B>Iso. compose(Optic<? super Profunctor<?,?,?>,? super Functor<?,?>,R,U,S,T> g)
Right-to-Left composition of optics.default <R> Iso.Simple<R,A>
Iso.Simple. compose(Optic.Simple<? super Profunctor<?,?,?>,? super Functor<?,?>,R,S> g)
Compose two simple optics from right to left.default <R,U>
Lens<R,U,A,B>Lens. compose(Optic<? super Cartesian<?,?,?>,? super Functor<?,?>,R,U,S,T> g)
Right-to-Left composition of optics.default <R> Lens.Simple<R,A>
Lens.Simple. compose(Optic.Simple<? super Cartesian<?,?,?>,? super Functor<?,?>,R,S> g)
Compose two simple optics from right to left.static <S,T,A,B>
Iso<S,T,A,B>Iso. iso(Optic<? super Profunctor<?,?,?>,? super Functor<?,?>,S,T,A,B> optic)
Promote an optic with compatible bounds to anIso
.static <S,T,A,B>
Lens<S,T,A,B>Lens. lens(Optic<? super Cartesian<?,?,?>,? super Functor<?,?>,S,T,A,B> optic)
Promote an optic with compatible bounds to aLens
.static <S,T,A,B>
Prism<S,T,A,B>Prism. prism(Optic<? super Cocartesian<?,?,?>,? super Functor<?,?>,S,T,A,B> optic)
-
Uses of Functor in com.jnape.palatable.lambda.optics.functions
Classes in com.jnape.palatable.lambda.optics.functions that implement Functor Modifier and Type Class Description class
Matching<S,T,A,B>
class
Over<S,T,A,B>
Given anOptic
, a function fromA
toB
, and a "larger" valueS
, produce aT
by retrieving theA
from theS
, applying the function, and updating theS
with theB
resulting from the function.class
Pre<P extends Profunctor<?,?,? extends P>,S,T,A,B>
class
Re<S,T,A,B>
Turn anOptic
with a unary mapping that can be used for setting (e.g.class
Set<S,T,A,B>
class
Under<S,T,A,B>
class
View<S,T,A,B>
-
Uses of Functor in com.jnape.palatable.lambda.semigroup
Subinterfaces of Functor in com.jnape.palatable.lambda.semigroup Modifier and Type Interface Description interface
Semigroup<A>
ASemigroup
is a closed, associative category. -
Uses of Functor in com.jnape.palatable.lambda.semigroup.builtin
Classes in com.jnape.palatable.lambda.semigroup.builtin that implement Functor Modifier and Type Class Description class
Absent<A>
class
Collapse<_1,_2>
class
Compose<A>
class
Intersection<A>
Given twoIterables
xs
andys
, return thedistinct
elements ofxs
that are also inys
in order of their unique occurrence inxs
.class
LeftAll<L,R>
class
LeftAny<L,R>
class
Max<A extends java.lang.Comparable<A>>
ASemigroup
overA
that chooses between two valuesx
andy
via the following rules: Ifx
is strictly less thany
, returny
Otherwise, returnx
class
MaxBy<A,B extends java.lang.Comparable<B>>
Given a mapping function from some typeA
to someComparable
typeB
, produce aSemigroup
overA
that chooses between two valuesx
andy
via the following rules: Ifx
is strictly less thany
in terms ofB
, returny
Otherwise, returnx
class
MaxWith<A>
Given a comparator for some typeA
, produce aSemigroup
overA
that chooses between two valuesx
andy
via the following rules: Ifx
is strictly less thany
in terms ofB
, returny
Otherwise, returnx
class
Merge<L,R>
class
Min<A extends java.lang.Comparable<A>>
ASemigroup
overA
that chooses between two valuesx
andy
via the following rules: Ifx
is strictly greater thany
, returny
Otherwise, returnx
class
MinBy<A,B extends java.lang.Comparable<B>>
Given a mapping function from some typeA
to someComparable
typeB
, produce aSemigroup
overA
that chooses between two valuesx
andy
via the following rules: Ifx
is strictly greater thany
in terms ofB
, returny
Otherwise, returnx
class
MinWith<A>
Given a comparator for some typeA
, produce aSemigroup
overA
that chooses between two valuesx
andy
via the following rules: Ifx
is strictly greater thany
in terms ofB
, returny
Otherwise, returnx
class
RightAll<L,R>
class
RightAny<L,R>
class
RunAll<A>
-
Uses of Functor in com.jnape.palatable.lambda.traversable
Subinterfaces of Functor in com.jnape.palatable.lambda.traversable Modifier and Type Interface Description interface
Traversable<A,T extends Traversable<?,T>>
An interface for a class of data structures that can be "traversed from left to right" in a structure-preserving way, successively applying some applicative computation to each element and collapsing the results into a single resulting applicative.Classes in com.jnape.palatable.lambda.traversable that implement Functor Modifier and Type Class Description class
LambdaIterable<A>
class
LambdaMap<A,B>
-