Uses of Interface
com.jnape.palatable.lambda.monad.MonadRec
Packages that use MonadRec
Package
Description
-
Uses of MonadRec in com.jnape.palatable.lambda.adt
Classes in com.jnape.palatable.lambda.adt that implement MonadRecModifier and TypeClassDescriptionclass
Either<L,
R> The binary tagged union, implemented as a specializedCoProduct2
.private static final class
Either.Left<L,
R> private static final class
Either.Right<L,
R> class
Maybe<A>
The optional type, representing a potentially absent value.private static final class
Maybe.Just<A>
private static final class
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 final class
These._A<A,
B> private static final class
These._B<A,
B> private static final class
These.Both<A,
B> class
Try<A>
AMonad
of the evaluation outcome of an expression that might throw.private static final class
Try.Failure<A>
private static final class
Try.Success<A>
Method parameters in com.jnape.palatable.lambda.adt with type arguments of type MonadRecModifier and TypeMethodDescriptionEither.trampolineM
(Fn1<? super R, ? extends MonadRec<RecursiveResult<R, B>, Either<L, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.<B> Maybe
<B> Maybe.trampolineM
(Fn1<? super A, ? extends MonadRec<RecursiveResult<A, B>, Maybe<?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.These.trampolineM
(Fn1<? super B, ? extends MonadRec<RecursiveResult<B, C>, These<A, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.<B> Try
<B> Try.trampolineM
(Fn1<? super A, ? extends MonadRec<RecursiveResult<A, B>, Try<?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction. -
Uses of MonadRec in com.jnape.palatable.lambda.adt.choice
Classes in com.jnape.palatable.lambda.adt.choice that implement MonadRecModifier and TypeClassDescriptionclass
Choice2<A,
B> Canonical ADT representation ofCoProduct2
.private static final class
Choice2._A<A,
B> private static final class
Choice2._B<A,
B> class
Choice3<A,
B, C> Canonical ADT representation ofCoProduct3
.private static final class
Choice3._A<A,
B, C> private static final class
Choice3._B<A,
B, C> private static final class
Choice3._C<A,
B, C> class
Choice4<A,
B, C, D> Canonical ADT representation ofCoProduct4
.private static final class
Choice4._A<A,
B, C, D> private static final class
Choice4._B<A,
B, C, D> private static final class
Choice4._C<A,
B, C, D> private static final class
Choice4._D<A,
B, C, D> class
Choice5<A,
B, C, D, E> Canonical ADT representation ofCoProduct5
.private static final class
Choice5._A<A,
B, C, D, E> private static final class
Choice5._B<A,
B, C, D, E> private static final class
Choice5._C<A,
B, C, D, E> private static final class
Choice5._D<A,
B, C, D, E> private static final class
Choice5._E<A,
B, C, D, E> class
Choice6<A,
B, C, D, E, F> Canonical ADT representation ofCoProduct6
.private static final class
Choice6._A<A,
B, C, D, E, F> private static final class
Choice6._B<A,
B, C, D, E, F> private static final class
Choice6._C<A,
B, C, D, E, F> private static final class
Choice6._D<A,
B, C, D, E, F> private static final class
Choice6._E<A,
B, C, D, E, F> private static final class
Choice6._F<A,
B, C, D, E, F> class
Choice7<A,
B, C, D, E, F, G> Canonical ADT representation ofCoProduct7
.private static final class
Choice7._A<A,
B, C, D, E, F, G> private static final class
Choice7._B<A,
B, C, D, E, F, G> private static final class
Choice7._C<A,
B, C, D, E, F, G> private static final class
Choice7._D<A,
B, C, D, E, F, G> private static final class
Choice7._E<A,
B, C, D, E, F, G> private static final class
Choice7._F<A,
B, C, D, E, F, G> private static final 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 final class
Choice8._A<A,
B, C, D, E, F, G, H> private static final class
Choice8._B<A,
B, C, D, E, F, G, H> private static final class
Choice8._C<A,
B, C, D, E, F, G, H> private static final class
Choice8._D<A,
B, C, D, E, F, G, H> private static final class
Choice8._E<A,
B, C, D, E, F, G, H> private static final class
Choice8._F<A,
B, C, D, E, F, G, H> private static final class
Choice8._G<A,
B, C, D, E, F, G, H> private static final class
Choice8._H<A,
B, C, D, E, F, G, H> Method parameters in com.jnape.palatable.lambda.adt.choice with type arguments of type MonadRecModifier and TypeMethodDescriptionChoice2.trampolineM
(Fn1<? super B, ? extends MonadRec<RecursiveResult<B, C>, Choice2<A, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.Choice3.trampolineM
(Fn1<? super C, ? extends MonadRec<RecursiveResult<C, D>, Choice3<A, B, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.Choice4.trampolineM
(Fn1<? super D, ? extends MonadRec<RecursiveResult<D, E>, Choice4<A, B, C, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.Choice6.trampolineM
(Fn1<? super F, ? extends MonadRec<RecursiveResult<F, G>, Choice6<A, B, C, D, E, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.Choice7.trampolineM
(Fn1<? super G, ? extends MonadRec<RecursiveResult<G, H>, Choice7<A, B, C, D, E, F, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.Choice8.trampolineM
(Fn1<? super H, ? extends MonadRec<RecursiveResult<H, I>, Choice8<A, B, C, D, E, F, G, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction. -
Uses of MonadRec in com.jnape.palatable.lambda.adt.hlist
Classes in com.jnape.palatable.lambda.adt.hlist that implement MonadRecModifier and TypeClassDescriptionclass
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.Method parameters in com.jnape.palatable.lambda.adt.hlist with type arguments of type MonadRecModifier and TypeMethodDescription<_1Prime> SingletonHList
<_1Prime> SingletonHList.trampolineM
(Fn1<? super _1, ? extends MonadRec<RecursiveResult<_1, _1Prime>, SingletonHList<?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.Tuple2.trampolineM
(Fn1<? super _2, ? extends MonadRec<RecursiveResult<_2, _2Prime>, Tuple2<_1, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.Tuple3.trampolineM
(Fn1<? super _3, ? extends MonadRec<RecursiveResult<_3, _3Prime>, Tuple3<_1, _2, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.Tuple4.trampolineM
(Fn1<? super _4, ? extends MonadRec<RecursiveResult<_4, _4Prime>, Tuple4<_1, _2, _3, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.Tuple5.trampolineM
(Fn1<? super _5, ? extends MonadRec<RecursiveResult<_5, _5Prime>, Tuple5<_1, _2, _3, _4, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.Tuple6.trampolineM
(Fn1<? super _6, ? extends MonadRec<RecursiveResult<_6, _6Prime>, Tuple6<_1, _2, _3, _4, _5, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.Tuple7.trampolineM
(Fn1<? super _7, ? extends MonadRec<RecursiveResult<_7, _7Prime>, Tuple7<_1, _2, _3, _4, _5, _6, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.Tuple8.trampolineM
(Fn1<? super _8, ? extends MonadRec<RecursiveResult<_8, _8Prime>, Tuple8<_1, _2, _3, _4, _5, _6, _7, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction. -
Uses of MonadRec in com.jnape.palatable.lambda.adt.hmap
Subinterfaces of MonadRec in com.jnape.palatable.lambda.adt.hmapModifier and TypeInterfaceDescriptioninterface
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
-
Uses of MonadRec in com.jnape.palatable.lambda.functions
Subinterfaces of MonadRec in com.jnape.palatable.lambda.functionsModifier and TypeInterfaceDescriptioninterface
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.Method parameters in com.jnape.palatable.lambda.functions with type arguments of type MonadRecModifier and TypeMethodDescriptionFn1.trampolineM
(Fn1<? super B, ? extends MonadRec<RecursiveResult<B, C>, Fn1<A, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction. -
Uses of MonadRec in com.jnape.palatable.lambda.functions.builtin.fn1
Classes in com.jnape.palatable.lambda.functions.builtin.fn1 that implement MonadRecModifier and TypeClassDescriptionfinal class
CatMaybes<A>
final class
Coalesce<L,
R> final class
Constantly<A,
B> A function that takes two arguments and always returns the first argument.final class
Cycle<A>
Given anIterable
, return an infiniteIterable
that repeatedly cycles its elements, in order.final class
Distinct<A>
final class
Downcast<A extends B,
B> Covariantly cast a value of typeB
to a value of subtypeA
.final class
Empty<A>
A predicate that returns true ifas
is empty; false otherwise.final class
Flatten<A>
final class
Force<A>
Deprecated.final class
Head<A>
final class
Id<A>
The identity function.final class
Init<A>
final class
Inits<A>
final class
Last<A>
final class
Magnetize<A>
final class
Not<A>
Negate a predicate function.final class
Occurrences<A>
final class
Repeat<A>
Given a value, return an infiniteIterable
that repeatedly iterates that value.final class
Reverse<A>
Given anIterable
, return a reversed representation of thatIterable
.final class
final class
Sort<A extends Comparable<A>>
final class
Tail<A>
Returns the tail of anIterable
; the is, anIterable
of all the elements except for the head element.final class
Tails<A>
final class
Uncons<A>
final class
Upcast<A extends B,
B> Upcast a value of typeB
to a value of typeA
thatB
extends. -
Uses of MonadRec in com.jnape.palatable.lambda.functions.builtin.fn2
Classes in com.jnape.palatable.lambda.functions.builtin.fn2 that implement MonadRecModifier and TypeClassDescriptionfinal class
$<A,
B> final class
All<A>
Eagerly apply a predicate to each element in anIterable
, returningtrue
if every element satisfies the predicate, andfalse
otherwise.final class
Alter<A>
final class
Any<A>
Eagerly apply a predicate to each element in anIterable
, returningtrue
if any element satisfies the predicate, andfalse
otherwise.final class
AutoBracket<A extends AutoCloseable,
B> Given anIO
yielding someAutoCloseable
typeA
and a kleisli arrow from that type to a newIO
of typeB
, attempt to provision theA
, applying the body operation if provisioning was successful and ensuring thatAutoCloseable.close()
is called regardless of whether the body succeeds or fails.final class
Both<A,
B, C> final 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.final class
CmpEq<A extends 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.final class
Cons<A>
Prepend an element to anIterable
.final class
Difference<A>
final class
Drop<A>
Lazily skip the firstn
elements from anIterable
by returning anIterable
that begins iteration after thenth
element.final 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
.final class
Eq<A>
Type-safe equality in function form; usesObject.equals(java.lang.Object)
, not==
.final class
Filter<A>
Lazily apply a predicate to each element in anIterable
, returning anIterable
of just the elements for which the predicate evaluated totrue
.final 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
.final 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.final class
GT<A extends Comparable<A>>
Given twoComparable
values of typeA
, returntrue
if the second value is strictly greater than the first value; otherwise, return false.final class
GTE<A extends 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.final class
InGroupsOf<A>
Lazily group theIterable
by returning anIterable
of smallerIterable
s of sizek
.final class
Intersperse<A>
Lazily inject the provided separator value between each value in the suppliedIterable
.final class
Into<A,
B, C> final class
Into1<A,
B> Given an
and aFn1
<A, B>
, pop the head and apply it to the function, returning the result.SingletonHList
<A>final class
Into3<A,
B, C, D> final class
Into4<A,
B, C, D, E> final class
Into5<A,
B, C, D, E, F> final class
Into6<A,
B, C, D, E, F, G> final class
Into7<A,
B, C, D, E, F, G, H> final class
Into8<A,
B, C, D, E, F, G, H, I> final class
Iterate<A>
final class
LazyRec<A,
B> final class
LT<A extends Comparable<A>>
Given twoComparable
values of typeA
, returntrue
if the second value is strictly less than the first value; otherwise, return false.final class
LTE<A extends 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.final class
MagnetizeBy<A>
final class
Map<A,
B> Lazily apply a function to each element in anIterable
, producing anIterable
of the mapped results.final 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.final class
final 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 itfinal class
PrependAll<A>
Lazily prepend each value with of theIterable
with the supplied separator value.final class
ReduceLeft<A>
final class
ReduceRight<A>
final class
Replicate<A>
Produce anIterable
of a valuen
times.final 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.final class
Slide<A>
final class
Snoc<A>
final class
SortBy<A,
B extends 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.final class
SortWith<A>
Given anIterable
and aComparator
over theIterable
element type, produce a sortedList
of the original elements based on sorting applied by theComparator
.final class
Span<A>
final 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.final 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
.final class
ToArray<A>
Write all the elements of anIterable
directly into an array of the specified type.final class
ToCollection<A,
C extends Collection<A>> Given anFn0
of someCollection
C
, create an instance ofC
and add all of the elements in the providedIterable
to the instance.final class
final class
Tupler2<A,
B> Creates aTuple2
from two values.final class
Unfoldr<A,
B> final 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.final class
Zip<A,
B> Zip together twoIterable
s into a singleIterable
ofTuple2<A, B>
. -
Uses of MonadRec in com.jnape.palatable.lambda.functions.builtin.fn3
Classes in com.jnape.palatable.lambda.functions.builtin.fn3 that implement MonadRecModifier and TypeClassDescriptionfinal 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.final 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.final 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 valuefinal class
CmpEqBy<A,
B extends 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.final 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.final 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)
.final 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.final class
FoldRight<A,
B> final class
GTBy<A,
B extends 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.final class
GTEBy<A,
B extends 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.final 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.final 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.final 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.final class
LTBy<A,
B extends 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.final class
LTEBy<A,
B extends 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.final 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.final 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.final 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.final 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.final 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 MonadRec in com.jnape.palatable.lambda.functions.builtin.fn4
Classes in com.jnape.palatable.lambda.functions.builtin.fn4 that implement MonadRecModifier and TypeClassDescriptionfinal class
IfThenElse<A,
B> final 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.final class
RateLimit<A>
-
Uses of MonadRec in com.jnape.palatable.lambda.functions.builtin.fn5
Classes in com.jnape.palatable.lambda.functions.builtin.fn5 that implement MonadRecModifier and TypeClassDescriptionfinal 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 MonadRec in com.jnape.palatable.lambda.functions.builtin.fn6
Classes in com.jnape.palatable.lambda.functions.builtin.fn6 that implement MonadRecModifier and TypeClassDescriptionfinal 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 MonadRec in com.jnape.palatable.lambda.functions.builtin.fn7
Classes in com.jnape.palatable.lambda.functions.builtin.fn7 that implement MonadRecModifier and TypeClassDescriptionfinal 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 MonadRec in com.jnape.palatable.lambda.functions.builtin.fn8
Classes in com.jnape.palatable.lambda.functions.builtin.fn8 that implement MonadRecModifier and TypeClassDescriptionfinal 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 MonadRec in com.jnape.palatable.lambda.functions.recursion
Classes in com.jnape.palatable.lambda.functions.recursion that implement MonadRecModifier and TypeClassDescriptionclass
RecursiveResult<A,
B> SpecializedCoProduct2
representing the possible results of a primitive recursive function.(package private) static final class
(package private) static final class
final 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
).Method parameters in com.jnape.palatable.lambda.functions.recursion with type arguments of type MonadRecModifier and TypeMethodDescription<C> RecursiveResult
<A, C> RecursiveResult.trampolineM
(Fn1<? super B, ? extends MonadRec<RecursiveResult<B, C>, RecursiveResult<A, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction. -
Uses of MonadRec in com.jnape.palatable.lambda.functions.specialized
Subinterfaces of MonadRec in com.jnape.palatable.lambda.functions.specializedModifier and TypeInterfaceDescriptioninterface
BiMonoidFactory<A,
B, C> interface
BiPredicate<A,
B> interface
BiSemigroupFactory<A,
B, C> interface
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 MonadRecMethods in com.jnape.palatable.lambda.functions.specialized with parameters of type MonadRec -
Uses of MonadRec in com.jnape.palatable.lambda.functor.builtin
Classes in com.jnape.palatable.lambda.functor.builtin that implement MonadRecModifier and TypeClassDescriptionfinal class
Const<A,
B> A (surprisingly useful) functor over some phantom typeB
, retaining a value of typeA
that can be retrieved later.final 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 final class
Lazy.Compose<A>
private static final class
Lazy.Later<A>
final class
Market<A,
B, S, T> A profunctor used to extract the isomorphic functions aPrism
is composed of.final class
State<S,
A> The stateMonad
, useful for iteratively building up state and state-contextualized result.final class
Tagged<S,
B> LikeConst
, but the phantom parameter is in the contravariant position, and the value is in covariant position.final 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.Method parameters in com.jnape.palatable.lambda.functor.builtin with type arguments of type MonadRecModifier and TypeMethodDescriptionConst.trampolineM
(Fn1<? super B, ? extends MonadRec<RecursiveResult<B, C>, Const<A, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.<B> Identity
<B> Identity.trampolineM
(Fn1<? super A, ? extends MonadRec<RecursiveResult<A, B>, Identity<?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.<B> Lazy
<B> Lazy.trampolineM
(Fn1<? super A, ? extends MonadRec<RecursiveResult<A, B>, Lazy<?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.Market.trampolineM
(Fn1<? super T, ? extends MonadRec<RecursiveResult<T, U>, Market<A, B, S, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.State.trampolineM
(Fn1<? super A, ? extends MonadRec<RecursiveResult<A, B>, State<S, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.Tagged.trampolineM
(Fn1<? super B, ? extends MonadRec<RecursiveResult<B, C>, Tagged<S, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.Writer.trampolineM
(Fn1<? super A, ? extends MonadRec<RecursiveResult<A, B>, Writer<W, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction. -
Uses of MonadRec in com.jnape.palatable.lambda.io
Classes in com.jnape.palatable.lambda.io that implement MonadRecModifier and TypeClassDescriptionclass
IO<A>
AMonad
representing some side-effecting computation to be performed.private static final class
IO.Compose<A>
Method parameters in com.jnape.palatable.lambda.io with type arguments of type MonadRecModifier and TypeMethodDescription<B> IO
<B> IO.trampolineM
(Fn1<? super A, ? extends MonadRec<RecursiveResult<A, B>, IO<?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction. -
Uses of MonadRec in com.jnape.palatable.lambda.monad
Classes in com.jnape.palatable.lambda.monad with type parameters of type MonadRecModifier and TypeInterfaceDescriptioninterface
interface
A class ofmonads
that offer a stack-safe interface for performing arbitrarily manyflatmap-like
operations viatrampolineM(Fn1)
.final class
A stack-safemonad transformer
that can safely interpret deeply nested left- or right-associated binds for anyMonadRec
.private static class
SafeT.Body<M extends MonadRec<?,
M>, A> private static final class
SafeT.Body.Done<M extends MonadRec<?,
M>, A> private static final class
SafeT.Body.More<M extends MonadRec<?,
M>, A> private static final class
SafeT.Body.Suspended<M extends MonadRec<?,
M>, A, B> private static interface
SafeT.Body.Suspended.Φ<M extends MonadRec<?,
M>, B, R> Classes in com.jnape.palatable.lambda.monad that implement MonadRecModifier and TypeClassDescriptionfinal class
A stack-safemonad transformer
that can safely interpret deeply nested left- or right-associated binds for anyMonadRec
.Fields in com.jnape.palatable.lambda.monad declared as MonadRecMethods in com.jnape.palatable.lambda.monad with type parameters of type MonadRecModifier and TypeMethodDescriptionprivate static <M extends MonadRec<?,
M>, A>
SafeT.Body<M, A> SafeT.Body.done
(A a) private static <M extends MonadRec<?,
M>, A>
SafeT.Body<M, A> SafeT.Body.more
(MonadRec<SafeT.Body<M, A>, M> mb) SafeT.runSafeT()
Recover the full structure of the embeddedMonad
in a stack-safe way.private static <M extends MonadRec<?,
M>, A, B>
SafeT.Body<M, B> SafeT.Body.suspend
(SafeT.Body<M, A> freeA, Fn1<A, SafeT.Body<M, B>> fn) Methods in com.jnape.palatable.lambda.monad that return MonadRecModifier and TypeMethodDescriptionMonadRec.discardL
(Applicative<B, M> appB) Sequence both thisApplicative
andappB
, discarding thisApplicative's
result and returningappB
.MonadRec.discardR
(Applicative<B, M> appB) Sequence both thisApplicative
andappB
, discardingappB's
result and returning thisApplicative
.Chain dependent computations that may continue or short-circuit based on previous results.Covariantly transmute this functor's parameter using the given mapping function.MonadRec.pure
(B b) Lift the valueb
into this applicative functor.MonadRec.trampolineM
(Fn1<? super A, ? extends MonadRec<RecursiveResult<A, B>, M>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.MonadRec.zip
(Applicative<Fn1<? super A, ? extends B>, M> appFn) Given another instance of this applicative over a mapping function, "zip" the two instances together using whatever application semantics the current applicative supports.Methods in com.jnape.palatable.lambda.monad that return types with arguments of type MonadRecModifier and TypeMethodDescriptionprivate <Z> Fn1
<SafeT.Body.Suspended<M, ?, Z>, RecursiveResult<SafeT.Body<M, B>, Either<MonadRec<SafeT.Body<M, B>, M>, B>>> SafeT.Body.Suspended.associateRight
(Fn1<Z, SafeT.Body<M, B>> f) Given alazy
instance of this applicative over a mapping function, "zip" the two instances together using whatever application semantics the current applicative supports.SafeT.Body.Done.resume()
SafeT.Body.More.resume()
SafeT.Body.resume()
SafeT.Body.Suspended.resume()
Methods in com.jnape.palatable.lambda.monad with parameters of type MonadRecModifier and TypeMethodDescriptionprivate static <M extends MonadRec<?,
M>, A>
SafeT.Body<M, A> SafeT.Body.more
(MonadRec<SafeT.Body<M, A>, M> mb) Method parameters in com.jnape.palatable.lambda.monad with type arguments of type MonadRecModifier and TypeMethodDescription<R> R
SafeT.Body.Done.match
(Fn1<? super Either<MonadRec<SafeT.Body<M, A>, M>, A>, ? extends R> aFn, Fn1<? super SafeT.Body.Suspended<M, ?, A>, ? extends R> bFn) <R> R
SafeT.Body.More.match
(Fn1<? super Either<MonadRec<SafeT.Body<M, A>, M>, A>, ? extends R> aFn, Fn1<? super SafeT.Body.Suspended<M, ?, A>, ? extends R> bFn) <R> R
SafeT.Body.Suspended.match
(Fn1<? super Either<MonadRec<SafeT.Body<M, B>, M>, B>, ? extends R> aFn, Fn1<? super SafeT.Body.Suspended<M, ?, B>, ? extends R> bFn) MonadRec.trampolineM
(Fn1<? super A, ? extends MonadRec<RecursiveResult<A, B>, M>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.SafeT.trampolineM
(Fn1<? super A, ? extends MonadRec<RecursiveResult<A, B>, SafeT<M, ?>>> bounce) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.Constructors in com.jnape.palatable.lambda.monad with parameters of type MonadRec -
Uses of MonadRec in com.jnape.palatable.lambda.monad.transformer
Classes in com.jnape.palatable.lambda.monad.transformer with type parameters of type MonadRecModifier and TypeInterfaceDescriptioninterface
Subinterfaces of MonadRec in com.jnape.palatable.lambda.monad.transformerModifier and TypeInterfaceDescriptioninterface
Methods in com.jnape.palatable.lambda.monad.transformer with type parameters of type MonadRecModifier and TypeMethodDescriptionMethods in com.jnape.palatable.lambda.monad.transformer with parameters of type MonadRec -
Uses of MonadRec in com.jnape.palatable.lambda.monad.transformer.builtin
Classes in com.jnape.palatable.lambda.monad.transformer.builtin with type parameters of type MonadRecModifier and TypeClassDescriptionfinal class
Amonad transformer
forEither
.final class
Amonad transformer
forIdentity
.class
Amonad transformer
over a co-inductive, singly-linked spine of values embedded in effects.final class
Amonad transformer
forLazy
.final class
Amonad transformer
forMaybe
.final class
final class
TheState
monad transformer
.final class
Amonad transformer
forWriter
.Classes in com.jnape.palatable.lambda.monad.transformer.builtin that implement MonadRecModifier and TypeClassDescriptionfinal class
Amonad transformer
forEither
.final class
Amonad transformer
forIdentity
.class
Amonad transformer
over a co-inductive, singly-linked spine of values embedded in effects.final class
Amonad transformer
forLazy
.final class
Amonad transformer
forMaybe
.final class
final class
TheState
monad transformer
.final class
Amonad transformer
forWriter
.Fields in com.jnape.palatable.lambda.monad.transformer.builtin declared as MonadRecFields in com.jnape.palatable.lambda.monad.transformer.builtin with type parameters of type MonadRecModifier and TypeFieldDescriptionReaderT.f
private final ImmutableQueue
<Choice2<Fn0<MonadRec<Maybe<Tuple2<A, IterateT<M, A>>>, M>>, MonadRec<A, M>>> IterateT.spine
private final ImmutableQueue
<Choice2<Fn0<MonadRec<Maybe<Tuple2<A, IterateT<M, A>>>, M>>, MonadRec<A, M>>> IterateT.spine
StateT.stateFn
WriterT.writerFn
Methods in com.jnape.palatable.lambda.monad.transformer.builtin with type parameters of type MonadRecModifier and TypeMethodDescriptionGiven aPure
ask will give you access to the input within the monadic embeddingStatic factory method for creating an emptyIterateT
.WriterT.evalWriterT
(Monoid<W> monoid) Given aMonoid
for the accumulation, run the computation represented by thisWriterT
inside themonadic effect
, ignoring the resulting accumulation, yielding the value in isolation.WriterT.execWriterT
(Monoid<W> monoid) Given aMonoid
for the accumulation, run the computation represented by thisWriterT
inside themonadic effect
, ignoring the value, yielding the accumulation in isolation.Monolithically fold the spine of thisIterateT
bytrampolining
the underlying effects (for iterative folding, usetrampolineM
directly).IterateT.foldCut
(Fn2<? super B, ? super A, ? extends MonadRec<RecursiveResult<B, B>, M>> fn, MonadRec<B, M> acc) Monolithically fold the spine of thisIterateT
(with the possibility of early termination) bytrampolining
the underlying effects (for iterative folding, usetrampolineM
directly).Given a function that produces a value inside amonadic effect
from a state, produce aStateT
that simply passes its state to the function and applies it.ReaderT.mapReaderT
(Fn1<? super MA, ? extends MonadRec<B, N>> fn) ReaderT.mapReaderT
(Fn1<? super MA, ? extends MonadRec<B, N>> fn) Map both the result and the final state to a new result and final state inside theMonad
.Static factory method for creating anIterateT
from a spine represented by one or more elements.EitherT.pureEitherT
(Pure<M> pureM) IdentityT.pureIdentityT
(Pure<M> pureM) IterateT.pureIterateT
(Pure<M> pureM) MaybeT.pureMaybeT
(Pure<M> pureM) ReaderT.pureReaderT
(Pure<M> pureM) StateT.pureStateT
(Pure<M> pureM) WriterT.pureWriterT
(Pure<M> pureM) Lift amonadic state
intoStateT
.EitherT.runEitherT()
Recover the full structure of the embeddedMonad
.IdentityT.runIdentityT()
Recover the full structure of the embeddedMonad
.IterateT.runIterateT()
Recover the full structure of the embeddedMonad
.LazyT.runLazyT()
Recover the full structure of the embeddedMonad
.MaybeT.runMaybeT()
Recover the full structure of the embeddedMonad
.ReaderT.runReaderT
(R r) Run the computation represented by thisReaderT
.IterateT.runStep()
WriterT.runWriterT
(Monoid<W> monoid) Given aMonoid
for the accumulation, run the computation represented by thisWriterT
inside themonadic effect
, accumulate the written output in terms of theMonoid
, and produce the accumulation and the result inside theMonad
.Static factory method for creating anIterateT
from a single element.Lift a state-sensitivemonadically embedded
computation intoStateT
.Lift amonadic value
intoStateT
.<C extends Collection<A>,
MAS extends MonadRec<C, M>>
MASIterateT.toCollection
(Fn0<C> cFn0) Force the underlying spine of thisIterateT
into aCollection
of typeC
inside the context of the monadic effect, using the providedcFn0
to construct the initial instance.Methods in com.jnape.palatable.lambda.monad.transformer.builtin with parameters of type MonadRecModifier and TypeMethodDescriptionAdd an element inside an effect to the front of thisIterateT
.Monolithically fold the spine of thisIterateT
bytrampolining
the underlying effects (for iterative folding, usetrampolineM
directly).IterateT.foldCut
(Fn2<? super B, ? super A, ? extends MonadRec<RecursiveResult<B, B>, M>> fn, MonadRec<B, M> acc) Monolithically fold the spine of thisIterateT
(with the possibility of early termination) bytrampolining
the underlying effects (for iterative folding, usetrampolineM
directly).Static factory method for creating anIterateT
from a spine represented by one or more elements.Lift amonadic state
intoStateT
.Static factory method for creating anIterateT
from a single element.Add an element inside an effect to the back of thisIterateT
.Lift amonadic value
intoStateT
.Method parameters in com.jnape.palatable.lambda.monad.transformer.builtin with type arguments of type MonadRecModifier and TypeMethodDescriptionMonolithically fold the spine of thisIterateT
bytrampolining
the underlying effects (for iterative folding, usetrampolineM
directly).IterateT.foldCut
(Fn2<? super B, ? super A, ? extends MonadRec<RecursiveResult<B, B>, M>> fn, MonadRec<B, M> acc) Monolithically fold the spine of thisIterateT
(with the possibility of early termination) bytrampolining
the underlying effects (for iterative folding, usetrampolineM
directly).Given a function that produces a value inside amonadic effect
from a state, produce aStateT
that simply passes its state to the function and applies it.ReaderT.mapReaderT
(Fn1<? super MA, ? extends MonadRec<B, N>> fn) Map both the result and the final state to a new result and final state inside theMonad
.Map both the result and the final state to a new result and final state inside theMonad
.Lift a state-sensitivemonadically embedded
computation intoStateT
.EitherT.trampolineM
(Fn1<? super R, ? extends MonadRec<RecursiveResult<R, R2>, EitherT<M, L, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.IdentityT.trampolineM
(Fn1<? super A, ? extends MonadRec<RecursiveResult<A, B>, IdentityT<M, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.IterateT.trampolineM
(Fn1<? super A, ? extends MonadRec<RecursiveResult<A, B>, IterateT<M, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.LazyT.trampolineM
(Fn1<? super A, ? extends MonadRec<RecursiveResult<A, B>, LazyT<M, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.MaybeT.trampolineM
(Fn1<? super A, ? extends MonadRec<RecursiveResult<A, B>, MaybeT<M, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.ReaderT.trampolineM
(Fn1<? super A, ? extends MonadRec<RecursiveResult<A, B>, ReaderT<R, M, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.StateT.trampolineM
(Fn1<? super A, ? extends MonadRec<RecursiveResult<A, B>, StateT<S, M, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.WriterT.trampolineM
(Fn1<? super A, ? extends MonadRec<RecursiveResult<A, B>, WriterT<W, M, ?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.Map the final state to a new final state inside the samemonadic effect
using the provided function.Constructors in com.jnape.palatable.lambda.monad.transformer.builtin with parameters of type MonadRecModifierConstructorDescriptionprivate
private
private
private
Constructor parameters in com.jnape.palatable.lambda.monad.transformer.builtin with type arguments of type MonadRecModifierConstructorDescriptionprivate
IterateT
(Pure<M> pureM, ImmutableQueue<Choice2<Fn0<MonadRec<Maybe<Tuple2<A, IterateT<M, A>>>, M>>, MonadRec<A, M>>> spine) private
IterateT
(Pure<M> pureM, ImmutableQueue<Choice2<Fn0<MonadRec<Maybe<Tuple2<A, IterateT<M, A>>>, M>>, MonadRec<A, M>>> spine) private
private
private
-
Uses of MonadRec in com.jnape.palatable.lambda.monoid
Subinterfaces of MonadRec in com.jnape.palatable.lambda.monoid -
Uses of MonadRec in com.jnape.palatable.lambda.monoid.builtin
Classes in com.jnape.palatable.lambda.monoid.builtin with type parameters of type MonadRecModifier and TypeClassDescriptionfinal class
The monoid formed under monadic endomorphism.final class
The monoid formed under monadic endomorphism.Classes in com.jnape.palatable.lambda.monoid.builtin that implement MonadRecModifier and TypeClassDescriptionfinal class
AddAll<A,
C extends Collection<A>> TheMonoid
instance formed under mutative concatenation for an arbitraryCollection
.final class
AMonoid
instance formed byBoolean
.final class
Collapse<_1,
_2> final class
Compose<A>
final class
Concat<A>
final class
Endo<A>
final class
The monoid formed under monadic endomorphism.final class
First<A>
final class
AMonoid
instance formed byString
that concats two strings together.final class
Last<A>
final class
LeftAll<L,
R> final class
LeftAny<L,
R> final 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
.final class
AMonoid
instance formed by mergingHMaps
using the chosenTypeSafeKey
->Semigroup
mappings
, defaulting toLast
in case noSemigroup
has been chosen for a givenTypeSafeKey
.final class
MergeMaps<K,
V> final class
AMonoid
instance formed byBoolean
.final class
Present<A>
final class
final class
RightAll<L,
R> final class
RightAny<L,
R> final class
RunAll<A>
final class
final class
Union<A>
final class
Logical exclusive-or.Methods in com.jnape.palatable.lambda.monoid.builtin with type parameters of type MonadRec -
Uses of MonadRec in com.jnape.palatable.lambda.optics
Subinterfaces of MonadRec in com.jnape.palatable.lambda.opticsModifier and TypeInterfaceDescriptioninterface
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.Method parameters in com.jnape.palatable.lambda.optics with type arguments of type MonadRecModifier and TypeMethodDescriptionIso.trampolineM
(Fn1<? super T, ? extends MonadRec<RecursiveResult<T, U>, Iso<S, ?, A, B>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.Lens.trampolineM
(Fn1<? super T, ? extends MonadRec<RecursiveResult<T, U>, Lens<S, ?, A, B>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.Prism.trampolineM
(Fn1<? super T, ? extends MonadRec<RecursiveResult<T, U>, Prism<S, ?, A, B>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction. -
Uses of MonadRec in com.jnape.palatable.lambda.optics.functions
Classes in com.jnape.palatable.lambda.optics.functions that implement MonadRecModifier and TypeClassDescriptionfinal class
Matching<S,
T, A, B> final 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.final class
Pre<P extends Profunctor<?,
?, ? extends P>, S, T, A, B> final class
Re<S,
T, A, B> Turn anOptic
with a unary mapping that can be used for setting (e.g.final class
Set<S,
T, A, B> final class
Under<S,
T, A, B> final class
View<S,
T, A, B> -
Uses of MonadRec in com.jnape.palatable.lambda.semigroup
Subinterfaces of MonadRec in com.jnape.palatable.lambda.semigroupModifier and TypeInterfaceDescriptioninterface
Semigroup<A>
ASemigroup
is a closed, associative category. -
Uses of MonadRec in com.jnape.palatable.lambda.semigroup.builtin
Classes in com.jnape.palatable.lambda.semigroup.builtin that implement MonadRecModifier and TypeClassDescriptionfinal class
Absent<A>
final class
Collapse<_1,
_2> final class
Compose<A>
final class
Intersection<A>
final class
LeftAll<L,
R> final class
LeftAny<L,
R> final class
Max<A extends Comparable<A>>
ASemigroup
overA
that chooses between two valuesx
andy
via the following rules: Ifx
is strictly less thany
, returny
Otherwise, returnx
final class
MaxBy<A,
B extends 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
final 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
final class
Merge<L,
R> final class
Min<A extends Comparable<A>>
ASemigroup
overA
that chooses between two valuesx
andy
via the following rules: Ifx
is strictly greater thany
, returny
Otherwise, returnx
final class
MinBy<A,
B extends 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
final 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
final class
RightAll<L,
R> final class
RightAny<L,
R> final class
RunAll<A>
-
Uses of MonadRec in com.jnape.palatable.lambda.traversable
Classes in com.jnape.palatable.lambda.traversable that implement MonadRecModifier and TypeClassDescriptionfinal class
Method parameters in com.jnape.palatable.lambda.traversable with type arguments of type MonadRecModifier and TypeMethodDescription<B> LambdaIterable
<B> LambdaIterable.trampolineM
(Fn1<? super A, ? extends MonadRec<RecursiveResult<A, B>, LambdaIterable<?>>> fn) Given some operation yielding aRecursiveResult
inside thisMonadRec
, internally trampoline the operation until it yields atermination
instruction.
traversing
into anIO
and running it