Modifier and Type | Class and Description |
---|---|
class |
Either<L,R>
The binary tagged union, implemented as a specialized
CoProduct2 . |
class |
Maybe<A>
The optional type, representing a potentially absent value.
|
class |
These<A,B>
The coproduct of a coproduct (
) and its product ( ), represented as a . |
class |
Try<A>
A
Monad of the evaluation outcome of an expression that might throw. |
Modifier and Type | Method and Description |
---|---|
<B> Maybe<B> |
Maybe.trampolineM(Fn1<? super A,? extends MonadRec<RecursiveResult<A,B>,Maybe<?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<B> Try<B> |
Try.trampolineM(Fn1<? super A,? extends MonadRec<RecursiveResult<A,B>,Try<?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<C> These<A,C> |
These.trampolineM(Fn1<? super B,? extends MonadRec<RecursiveResult<B,C>,These<A,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<B> Either<L,B> |
Either.trampolineM(Fn1<? super R,? extends MonadRec<RecursiveResult<R,B>,Either<L,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
Modifier and Type | Class and Description |
---|---|
class |
Choice2<A,B>
Canonical ADT representation of
CoProduct2 . |
class |
Choice3<A,B,C>
Canonical ADT representation of
CoProduct3 . |
class |
Choice4<A,B,C,D>
Canonical ADT representation of
CoProduct4 . |
class |
Choice5<A,B,C,D,E>
Canonical ADT representation of
CoProduct5 . |
class |
Choice6<A,B,C,D,E,F>
Canonical ADT representation of
CoProduct6 . |
class |
Choice7<A,B,C,D,E,F,G>
Canonical ADT representation of
CoProduct7 . |
class |
Choice8<A,B,C,D,E,F,G,H>
Canonical ADT representation of
CoProduct8 . |
Modifier and Type | Method and Description |
---|---|
<C> Choice2<A,C> |
Choice2.trampolineM(Fn1<? super B,? extends MonadRec<RecursiveResult<B,C>,Choice2<A,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<D> Choice3<A,B,D> |
Choice3.trampolineM(Fn1<? super C,? extends MonadRec<RecursiveResult<C,D>,Choice3<A,B,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<E> Choice4<A,B,C,E> |
Choice4.trampolineM(Fn1<? super D,? extends MonadRec<RecursiveResult<D,E>,Choice4<A,B,C,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<F> Choice5<A,B,C,D,F> |
Choice5.trampolineM(Fn1<? super E,? extends MonadRec<RecursiveResult<E,F>,Choice5<A,B,C,D,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<G> Choice6<A,B,C,D,E,G> |
Choice6.trampolineM(Fn1<? super F,? extends MonadRec<RecursiveResult<F,G>,Choice6<A,B,C,D,E,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<H> Choice7<A,B,C,D,E,F,H> |
Choice7.trampolineM(Fn1<? super G,? extends MonadRec<RecursiveResult<G,H>,Choice7<A,B,C,D,E,F,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<I> Choice8<A,B,C,D,E,F,G,I> |
Choice8.trampolineM(Fn1<? super H,? extends MonadRec<RecursiveResult<H,I>,Choice8<A,B,C,D,E,F,G,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
Modifier and Type | Class and 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.
|
Modifier and Type | Method and Description |
---|---|
<_1Prime> SingletonHList<_1Prime> |
SingletonHList.trampolineM(Fn1<? super _1,? extends MonadRec<RecursiveResult<_1,_1Prime>,SingletonHList<?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<_2Prime> Tuple2<_1,_2Prime> |
Tuple2.trampolineM(Fn1<? super _2,? extends MonadRec<RecursiveResult<_2,_2Prime>,Tuple2<_1,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<_3Prime> Tuple3<_1,_2,_3Prime> |
Tuple3.trampolineM(Fn1<? super _3,? extends MonadRec<RecursiveResult<_3,_3Prime>,Tuple3<_1,_2,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<_4Prime> Tuple4<_1,_2,_3,_4Prime> |
Tuple4.trampolineM(Fn1<? super _4,? extends MonadRec<RecursiveResult<_4,_4Prime>,Tuple4<_1,_2,_3,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<_5Prime> Tuple5<_1,_2,_3,_4,_5Prime> |
Tuple5.trampolineM(Fn1<? super _5,? extends MonadRec<RecursiveResult<_5,_5Prime>,Tuple5<_1,_2,_3,_4,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<_6Prime> Tuple6<_1,_2,_3,_4,_5,_6Prime> |
Tuple6.trampolineM(Fn1<? super _6,? extends MonadRec<RecursiveResult<_6,_6Prime>,Tuple6<_1,_2,_3,_4,_5,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<_7Prime> Tuple7<_1,_2,_3,_4,_5,_6,_7Prime> |
Tuple7.trampolineM(Fn1<? super _7,? extends MonadRec<RecursiveResult<_7,_7Prime>,Tuple7<_1,_2,_3,_4,_5,_6,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<_8Prime> Tuple8<_1,_2,_3,_4,_5,_6,_7,_8Prime> |
Tuple8.trampolineM(Fn1<? super _8,? extends MonadRec<RecursiveResult<_8,_8Prime>,Tuple8<_1,_2,_3,_4,_5,_6,_7,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
Modifier and Type | Interface and Description |
---|---|
interface |
Schema<Values extends HList>
A lens that focuses on the
heterogeneous list of values pointed at by one or more
typesafe keys that must all exist in the same HMap to be collectively extracted. |
interface |
TypeSafeKey<A,B>
An interface representing a parametrized key for use in
HMap s. |
static interface |
TypeSafeKey.Simple<A>
|
Modifier and Type | Interface and 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 six arguments.
|
interface |
Fn8<A,B,C,D,E,F,G,H,I>
A function taking six arguments.
|
Modifier and Type | Method and Description |
---|---|
default <C> Fn1<A,C> |
Fn1.trampolineM(Fn1<? super B,? extends MonadRec<RecursiveResult<B,C>,Fn1<A,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
Modifier and Type | Class and Description |
---|---|
class |
CatMaybes<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 an
Iterable , return an infinite Iterable that repeatedly cycles its elements, in
order. |
class |
Distinct<A>
|
class |
Downcast<A extends B,B>
Covariantly cast a value of type
B to a value of subtype A . |
class |
Empty<A>
A predicate that returns true if
as is empty; false otherwise. |
class |
Flatten<A>
|
class |
Force<A>
Deprecated.
in favor of
traversing into an IO and running it |
class |
Head<A>
|
class |
Id<A>
The identity function.
|
class |
Init<A>
|
class |
Inits<A>
|
class |
Last<A>
|
class |
Magnetize<A>
|
class |
Not<A>
Negate a predicate function.
|
class |
Occurrences<A>
|
class |
Repeat<A>
Given a value, return an infinite
Iterable that repeatedly iterates that value. |
class |
Reverse<A>
Given an
Iterable , return a reversed representation of that Iterable . |
class |
Size |
class |
Sort<A extends Comparable<A>>
|
class |
Tail<A>
Returns the tail of an
Iterable ; the is, an Iterable of all the elements except for the
head element. |
class |
Tails<A>
|
class |
Uncons<A>
|
class |
Upcast<A extends B,B>
Upcast a value of type
B to a value of type A that B extends. |
Modifier and Type | Class and Description |
---|---|
class |
All<A>
Eagerly apply a predicate to each element in an
Iterable , returning true if every element
satisfies the predicate, and false otherwise. |
class |
Alter<A>
|
class |
Any<A>
Eagerly apply a predicate to each element in an
Iterable , returning true if any element
satisfies the predicate, and false otherwise. |
class |
AutoBracket<A extends AutoCloseable,B>
Given an
IO yielding some AutoCloseable type A and a kleisli arrow from that type to a
new IO of type B , attempt to provision the A , applying the body operation if
provisioning was successful and ensuring that AutoCloseable.close() is called regardless of whether the body
succeeds or fails. |
class |
Both<A,B,C>
|
class |
CartesianProduct<A,B>
Lazily compute the cartesian product of an
Iterable<A> and Iterable<B> ,
returning an Iterable<Tuple2<A, B>> , the products as tuples of
multiplicand A s and multiplier B s. |
class |
CmpEq<A extends Comparable<A>>
Given two
Comparable values of type A , return true if the first value is strictly
equal to the second value (according to Comparable.compareTo(Object) ; otherwise, return false. |
class |
Cons<A>
Prepend an element to an
Iterable . |
class |
Difference<A>
|
class |
Drop<A>
Lazily skip the first
n elements from an Iterable by returning an Iterable
that begins iteration after the nth element. |
class |
DropWhile<A>
Lazily limit the
Iterable by skipping the first contiguous group of elements that satisfy the predicate,
beginning iteration at the first element for which the predicate evaluates to false . |
class |
Eq<A>
Type-safe equality in function form; uses
Object.equals(java.lang.Object) , not == . |
class |
Filter<A>
Lazily apply a predicate to each element in an
Iterable , returning an Iterable of just the
elements for which the predicate evaluated to true . |
class |
Find<A>
Iterate the elements in an
Iterable , applying a predicate to each one, returning the first element that
matches the predicate, wrapped in a Maybe . |
class |
GroupBy<K,V>
Given an
Iterable<V> vs and a key function V -> K f ,
fold vs into a Map<K, List<V>> by applying f to each element of
vs , retaining values that map to the same key in a list, in the order they were iterated in. |
class |
GT<A extends Comparable<A>>
Given two
Comparable values of type A , return true if the second value is strictly
greater than the first value; otherwise, return false. |
class |
GTE<A extends Comparable<A>>
Given two
Comparable values of type A , return true if the second value is greater
than or equal to the first value according to Comparable.compareTo(Object) ; otherwise, return false. |
class |
InGroupsOf<A>
Lazily group the
Iterable by returning an Iterable of smaller Iterable s of
size k . |
class |
Intersperse<A>
Lazily inject the provided separator value between each value in the supplied
Iterable . |
class |
Into<A,B,C>
Given an
and a , destructure the
entry and apply the key and value as arguments to the function, returning the result. |
class |
Into1<A,B>
Given an
and a , pop the head and
apply it to the function, returning the result. |
class |
Into3<A,B,C,D>
|
class |
Into4<A,B,C,D,E>
|
class |
Into5<A,B,C,D,E,F>
|
class |
Into6<A,B,C,D,E,F,G>
|
class |
Into7<A,B,C,D,E,F,G,H>
|
class |
Into8<A,B,C,D,E,F,G,H,I>
|
class |
Iterate<A>
|
class |
LazyRec<A,B>
|
class |
LT<A extends Comparable<A>>
Given two
Comparable values of type A , return true if the second value is strictly
less than the first value; otherwise, return false. |
class |
LTE<A extends Comparable<A>>
Given two
Comparable values of type A , return true if the second value is less than
or equal to the first value according to Comparable.compareTo(Object) otherwise, return false. |
class |
MagnetizeBy<A>
|
class |
Map<A,B>
Lazily apply a function to each element in an
Iterable , producing an Iterable of the mapped
results. |
class |
Partition<A,B,C>
Given an
Iterable<A> as and a disjoint mapping function a ->
CoProduct2<A, B> , return a Tuple2 over the lazily unwrapped left A and right
B values in the first and second slots, respectively. |
class |
Peek<A,FA extends Functor<A,?>>
|
class |
Peek2<A,B,FAB extends BoundedBifunctor<A,B,? super A,? super B,?>>
Deprecated.
in favor of producing an
IO from the given BoundedBifunctor and explicitly running it |
class |
PrependAll<A>
Lazily prepend each value with of the
Iterable with the supplied separator value. |
class |
ReduceLeft<A>
|
class |
ReduceRight<A>
|
class |
Replicate<A>
Produce an
Iterable of a value n times. |
class |
Sequence<A,App extends Applicative<?,App>,Trav extends Traversable<?,Trav>,TravA extends Traversable<A,Trav>,AppTrav extends Applicative<TravA,App>>
Given a
Traversable of Applicative s and a pure Applicative constructor, traverse the
elements from left to right, zipping the Applicative s together and collecting the results. |
class |
Slide<A>
|
class |
Snoc<A>
|
class |
SortBy<A,B extends Comparable<B>>
Given an
Iterable and some mapping function from the Iterable element type to some
Comparable type, produce a sorted List of the original elements based on sorting applied to the
result of the mapping function. |
class |
SortWith<A>
Given an
Iterable and a Comparator over the Iterable element type, produce a
sorted List of the original elements based on sorting applied by the Comparator . |
class |
Span<A>
|
class |
Take<A>
Lazily limit the
Iterable to n elements by returning an Iterable that stops
iteration after the nth element, or the last element of the Iterable , whichever comes
first. |
class |
TakeWhile<A>
Lazily limit the
Iterable to the first group of contiguous elements that satisfy the predicate by
iterating up to, but not including, the first element for which the predicate evaluates to false . |
class |
ToArray<A>
Write all the elements of an
Iterable directly into an array of the specified type. |
class |
ToCollection<A,C extends Collection<A>>
Given an
Fn0 of some Collection C , create an instance of C and add all of
the elements in the provided Iterable to the instance. |
class |
ToMap<K,V,M extends Map<K,V>>
|
class |
Tupler2<A,B>
Creates a
Tuple2 from two values. |
class |
Unfoldr<A,B>
|
class |
Until<A>
Given a
predicate function for a value of some type A and an IO that yields a value
of type A , produce an IO that repeatedly executes the original IO until the predicate
returns true when applied to the yielded value. |
class |
Zip<A,B>
Zip together two
Iterable s into a single Iterable of Tuple2<A, B> . |
Modifier and Type | Class and Description |
---|---|
class |
Between<A extends Comparable<A>>
Given two bounds and a value, return whether or not the value is greater than or equal to the lower bound and less
than or equal to the upper bound.
|
class |
Bracket<A,B>
Given an
IO that yields some type A , a cleanup operation to run if a value of that type could be
provisioned, and a kleisli arrow from that type to a new IO of type B , produce an
that, when run, will provision the A ,
flatMap it to B , and clean up the original value if it was produced in the
first place. |
class |
Clamp<A extends Comparable<A>>
Given two bounds and a value, "clamp" the value between the bounds via the following algorithm:
- if the value is strictly less than the lower bound, return the lower bound
- if the value is strictly greater than the upper bound, return the upper bound
- otherwise, return the value
|
class |
CmpEqBy<A,B extends Comparable<B>>
Given a mapping function from some type
A to some Comparable type B and two values
of type A , return true if the first value is strictly equal to the second value (according
to Comparable.compareTo(Object) in terms of their mapped B results; otherwise, return false. |
class |
FoldLeft<A,B>
Given an
Iterable of A s, a starting value B , and a
, iteratively accumulate over the Iterable , ultimately returning
a final B value. |
class |
FoldRight<A,B>
|
class |
GTBy<A,B extends Comparable<B>>
Given a mapping function from some type
A to some Comparable type B and two values
of type A , return true if the second value is strictly greater than the first value in
terms of their mapped B results; otherwise, return false. |
class |
GTEBy<A,B extends Comparable<B>>
Given a mapping function from some type
A to some Comparable type B and two values
of type A , return true if the second value is greater than or equal to the first value in
terms of their mapped B results according to Comparable.compareTo(Object) ; otherwise, return
false. |
class |
LiftA2<A,B,C,App extends Applicative<?,App>,AppC extends Applicative<C,App>>
Lift into and apply an
Fn2 to two Applicative values, returning the result inside the same
Applicative context. |
class |
LTBy<A,B extends Comparable<B>>
Given a mapping function from some type
A to some Comparable type B and two values
of type A , return true if the second value is strictly less than the first value in terms
of their mapped B results; otherwise, return false. |
class |
LTEBy<A,B extends Comparable<B>>
Given a mapping function from some type
A to some Comparable type B and two values
of type A , return true if the second value is less than or equal to the first value in
terms of their mapped B results according to Comparable.compareTo(Object) ; otherwise, return
false. |
class |
ScanLeft<A,B>
Given an
Iterable of A s, a starting value B , and a
, iteratively accumulate over the Iterable , collecting each
function application result, finally returning an Iterable of all the results. |
class |
Times<A>
Given some number of times
n to invoke a function A -> A , and given an input
A , iteratively apply the function to the input, and then to the result of the invocation, a total of
n times, returning the result. |
class |
ZipWith<A,B,C>
Zip together two
Iterable s by applying a zipping function to the successive elements of each
Iterable until one of them runs out of elements. |
Modifier and Type | Class and Description |
---|---|
class |
IfThenElse<A,B> |
class |
LiftA3<A,B,C,D,App extends Applicative<?,App>,AppD extends Applicative<D,App>>
Lift into and apply an
Fn3 to three Applicative values, returning the result inside the same
Applicative context. |
class |
RateLimit<A>
|
Modifier and Type | Class and Description |
---|---|
class |
LiftA4<A,B,C,D,E,App extends Applicative<?,App>,AppE extends Applicative<E,App>>
Lift into and apply an
Fn4 to four Applicative values, returning the result inside the same
Applicative context. |
Modifier and Type | Class and Description |
---|---|
class |
LiftA5<A,B,C,D,E,F,App extends Applicative<?,App>,AppF extends Applicative<F,App>>
Lift into and apply an
Fn5 to five Applicative values, returning the result inside the same
Applicative context. |
Modifier and Type | Class and Description |
---|---|
class |
LiftA6<A,B,C,D,E,F,G,App extends Applicative<?,App>,AppG extends Applicative<G,App>>
Lift into and apply an
Fn6 to six Applicative values, returning the result inside the same
Applicative context. |
Modifier and Type | Class and Description |
---|---|
class |
LiftA7<A,B,C,D,E,F,G,H,App extends Applicative<?,App>,AppH extends Applicative<H,App>>
Lift into and apply an
Fn7 to seven Applicative values, returning the result inside the same
Applicative context. |
Modifier and Type | Class and Description |
---|---|
class |
RecursiveResult<A,B>
Specialized
CoProduct2 representing the possible results of a primitive recursive function. |
class |
Trampoline<A,B>
Given an
(analogous to "recurse" and "return"
tail position instructions, respectively), produce a that unrolls the original
function by iteratively passing each result that matches the input (A ) back to the original function,
and then terminating on and returning the first output (B ). |
Modifier and Type | Method and Description |
---|---|
<C> RecursiveResult<A,C> |
RecursiveResult.trampolineM(Fn1<? super B,? extends MonadRec<RecursiveResult<B,C>,RecursiveResult<A,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
Modifier and Type | Interface and 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 specialized
Fn1 that returns a Boolean . |
interface |
SemigroupFactory<A,B> |
Modifier and Type | Method and Description |
---|---|
default <A,M extends MonadRec<?,M>,MBA extends MonadBase<M,A,B>> |
Lift.apply(MonadRec<A,M> ma) |
<A,M extends MonadRec<?,M>> |
Lift.checkedApply(MonadRec<A,M> ga) |
Modifier and Type | Method and Description |
---|---|
default <A,M extends MonadRec<?,M>,MBA extends MonadBase<M,A,B>> |
Lift.apply(MonadRec<A,M> ma) |
<A,M extends MonadRec<?,M>> |
Lift.checkedApply(MonadRec<A,M> ga) |
Modifier and Type | Class and Description |
---|---|
class |
Const<A,B>
A (surprisingly useful) functor over some phantom type
B , retaining a value of type A that
can be retrieved later. |
class |
Identity<A>
A functor over some value of type
A that can be mapped over and retrieved later. |
class |
Lazy<A>
A
Monad representing a lazily-computed value. |
class |
Market<A,B,S,T>
A profunctor used to extract the isomorphic functions a
Prism is composed of. |
class |
State<S,A>
The state
Monad , useful for iteratively building up state and state-contextualized result. |
class |
Tagged<S,B>
Like
Const , 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.
|
Modifier and Type | Method and Description |
---|---|
<B> Identity<B> |
Identity.trampolineM(Fn1<? super A,? extends MonadRec<RecursiveResult<A,B>,Identity<?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<B> Lazy<B> |
Lazy.trampolineM(Fn1<? super A,? extends MonadRec<RecursiveResult<A,B>,Lazy<?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<B> State<S,B> |
State.trampolineM(Fn1<? super A,? extends MonadRec<RecursiveResult<A,B>,State<S,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<B> Writer<W,B> |
Writer.trampolineM(Fn1<? super A,? extends MonadRec<RecursiveResult<A,B>,Writer<W,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<C> Const<A,C> |
Const.trampolineM(Fn1<? super B,? extends MonadRec<RecursiveResult<B,C>,Const<A,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<C> Tagged<S,C> |
Tagged.trampolineM(Fn1<? super B,? extends MonadRec<RecursiveResult<B,C>,Tagged<S,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<U> Market<A,B,S,U> |
Market.trampolineM(Fn1<? super T,? extends MonadRec<RecursiveResult<T,U>,Market<A,B,S,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
Modifier and Type | Class and Description |
---|---|
class |
IO<A>
A
Monad representing some side-effecting computation to be performed. |
Modifier and Type | Method and Description |
---|---|
<B> IO<B> |
IO.trampolineM(Fn1<? super A,? extends MonadRec<RecursiveResult<A,B>,IO<?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
Modifier and Type | Interface and Description |
---|---|
interface |
MonadBase<M extends MonadRec<?,M>,A,MB extends MonadBase<?,?,MB>>
|
interface |
MonadRec<A,M extends MonadRec<?,M>>
A class of
monads that offer a stack-safe interface for performing arbitrarily many
flatmap-like operations via trampolineM(Fn1) . |
class |
SafeT<M extends MonadRec<?,M>,A>
A stack-safe
monad transformer that can safely interpret deeply nested left- or right-associated
binds for any MonadRec . |
Modifier and Type | Class and Description |
---|---|
class |
SafeT<M extends MonadRec<?,M>,A>
A stack-safe
monad transformer that can safely interpret deeply nested left- or right-associated
binds for any MonadRec . |
Modifier and Type | Method and Description |
---|---|
<B,N extends MonadRec<?,N>> |
SafeT.lift(MonadRec<B,N> nb)
|
<C,N extends MonadRec<?,N>> |
MonadBase.lift(MonadRec<C,N> nc)
|
static <M extends MonadRec<?,M>> |
SafeT.pureSafeT(Pure<M> pureM)
|
<MA extends MonadRec<A,M>> |
SafeT.runSafeT()
Recover the full structure of the embedded
Monad in a stack-safe way. |
static <M extends MonadRec<?,M>,A> |
SafeT.safeT(MonadRec<A,M> ma)
|
Modifier and Type | Method and Description |
---|---|
default <B> MonadRec<B,M> |
MonadRec.discardL(Applicative<B,M> appB)
Sequence both this
Applicative and appB , discarding this Applicative's
result and returning appB . |
default <B> MonadRec<A,M> |
MonadRec.discardR(Applicative<B,M> appB)
Sequence both this
Applicative and appB , discarding appB's result and
returning this Applicative . |
<B> MonadRec<B,M> |
MonadRec.flatMap(Fn1<? super A,? extends Monad<B,M>> f)
Chain dependent computations that may continue or short-circuit based on previous results.
|
default <B> MonadRec<B,M> |
MonadRec.fmap(Fn1<? super A,? extends B> fn)
Covariantly transmute this functor's parameter using the given mapping function.
|
<B> MonadRec<B,M> |
MonadRec.pure(B b)
Lift the value
b into this applicative functor. |
<B> MonadRec<B,M> |
MonadRec.trampolineM(Fn1<? super A,? extends MonadRec<RecursiveResult<A,B>,M>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
default <B> MonadRec<B,M> |
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.
|
Modifier and Type | Method and Description |
---|---|
default <B> Lazy<? extends MonadRec<B,M>> |
MonadRec.lazyZip(Lazy<? extends Applicative<Fn1<? super A,? extends B>,M>> lazyAppFn)
Given a
lazy instance of this applicative over a mapping function, "zip" the two instances together
using whatever application semantics the current applicative supports. |
Modifier and Type | Method and Description |
---|---|
<B,N extends MonadRec<?,N>> |
SafeT.lift(MonadRec<B,N> nb)
|
<C,N extends MonadRec<?,N>> |
MonadBase.lift(MonadRec<C,N> nc)
|
static <M extends MonadRec<?,M>,A> |
SafeT.safeT(MonadRec<A,M> ma)
|
Modifier and Type | Method and Description |
---|---|
<B> MonadRec<B,M> |
MonadRec.trampolineM(Fn1<? super A,? extends MonadRec<RecursiveResult<A,B>,M>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<B> SafeT<M,B> |
SafeT.trampolineM(Fn1<? super A,? extends MonadRec<RecursiveResult<A,B>,SafeT<M,?>>> bounce)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
Modifier and Type | Interface and Description |
---|---|
interface |
MonadT<M extends MonadRec<?,M>,A,MT extends MonadT<M,?,MT,T>,T extends MonadT<?,?,?,T>>
|
Modifier and Type | Interface and Description |
---|---|
interface |
MonadT<M extends MonadRec<?,M>,A,MT extends MonadT<M,?,MT,T>,T extends MonadT<?,?,?,T>>
|
Modifier and Type | Method and Description |
---|---|
<B,N extends MonadRec<?,N>> |
MonadT.lift(MonadRec<B,N> mb)
|
Modifier and Type | Method and Description |
---|---|
<B,N extends MonadRec<?,N>> |
MonadT.lift(MonadRec<B,N> mb)
|
Modifier and Type | Class and Description |
---|---|
class |
EitherT<M extends MonadRec<?,M>,L,R>
A
monad transformer for Either . |
class |
IdentityT<M extends MonadRec<?,M>,A>
A
monad transformer for Identity . |
class |
LazyT<M extends MonadRec<?,M>,A>
A
monad transformer for Lazy . |
class |
MaybeT<M extends MonadRec<?,M>,A>
A
monad transformer for Maybe . |
class |
ReaderT<R,M extends MonadRec<?,M>,A>
|
class |
StateT<S,M extends MonadRec<?,M>,A>
The
State monad transformer . |
class |
WriterT<W,M extends MonadRec<?,M>,A>
A
monad transformer for Writer . |
Modifier and Type | Class and Description |
---|---|
class |
EitherT<M extends MonadRec<?,M>,L,R>
A
monad transformer for Either . |
class |
IdentityT<M extends MonadRec<?,M>,A>
A
monad transformer for Identity . |
class |
LazyT<M extends MonadRec<?,M>,A>
A
monad transformer for Lazy . |
class |
MaybeT<M extends MonadRec<?,M>,A>
A
monad transformer for Maybe . |
class |
ReaderT<R,M extends MonadRec<?,M>,A>
|
class |
StateT<S,M extends MonadRec<?,M>,A>
The
State monad transformer . |
class |
WriterT<W,M extends MonadRec<?,M>,A>
A
monad transformer for Writer . |
Modifier and Type | Method and Description |
---|---|
static <M extends MonadRec<?,M>,L,R> |
EitherT.eitherT(MonadRec<Either<L,R>,M> melr)
|
static <A,M extends MonadRec<?,M>> |
StateT.get(Pure<M> pureM)
|
static <S,M extends MonadRec<?,M>,A> |
StateT.gets(Fn1<? super S,? extends MonadRec<A,M>> fn)
Given a function that produces a value inside a
monadic effect from a state, produce a
StateT that simply passes its state to the function and applies it. |
static <M extends MonadRec<?,M>,A> |
IdentityT.identityT(MonadRec<Identity<A>,M> mia)
|
static <M extends MonadRec<?,M>,A> |
LazyT.lazyT(MonadRec<Lazy<A>,M> mla)
|
<B,N extends MonadRec<?,N>> |
LazyT.lift(MonadRec<B,N> mb)
|
<B,N extends MonadRec<?,N>> |
MaybeT.lift(MonadRec<B,N> mb)
|
<B,N extends MonadRec<?,N>> |
WriterT.lift(MonadRec<B,N> mb)
|
<B,N extends MonadRec<?,N>> |
StateT.lift(MonadRec<B,N> mb)
|
<B,N extends MonadRec<?,N>> |
ReaderT.lift(MonadRec<B,N> mb)
|
<B,N extends MonadRec<?,N>> |
IdentityT.lift(MonadRec<B,N> mb)
|
<R2,N extends MonadRec<?,N>> |
EitherT.lift(MonadRec<R2,N> mb)
|
static <W,M extends MonadRec<?,M>,A> |
WriterT.listen(MonadRec<A,M> ma)
|
<MA extends MonadRec<A,M>,N extends MonadRec<?,N>,B> |
ReaderT.mapReaderT(Fn1<? super MA,? extends MonadRec<B,N>> fn)
|
<MA extends MonadRec<A,M>,N extends MonadRec<?,N>,B> |
ReaderT.mapReaderT(Fn1<? super MA,? extends MonadRec<B,N>> fn)
|
<N extends MonadRec<?,N>,B> |
StateT.mapStateT(Fn1<? super MonadRec<Tuple2<A,S>,M>,? extends MonadRec<Tuple2<B,S>,N>> fn)
Map both the result and the final state to a new result and final state inside the
Monad . |
static <M extends MonadRec<?,M>,A> |
MaybeT.maybeT(MonadRec<Maybe<A>,M> mma)
|
static <S,M extends MonadRec<?,M>> |
StateT.modify(Fn1<? super S,? extends MonadRec<S,M>> updateFn)
|
static <M extends MonadRec<?,M>,L> |
EitherT.pureEitherT(Pure<M> pureM)
|
static <M extends MonadRec<?,M>> |
IdentityT.pureIdentityT(Pure<M> pureM)
|
static <M extends MonadRec<?,M>> |
LazyT.pureLazyT(Pure<M> pureM)
|
static <M extends MonadRec<?,M>> |
MaybeT.pureMaybeT(Pure<M> pureM)
|
static <R,M extends MonadRec<?,M>> |
ReaderT.pureReaderT(Pure<M> pureM)
|
static <S,M extends MonadRec<?,M>> |
StateT.pureStateT(Pure<M> pureM)
|
static <W,M extends MonadRec<?,M>> |
WriterT.pureWriterT(Pure<M> pureM)
|
static <S,M extends MonadRec<?,M>> |
StateT.put(MonadRec<S,M> ms)
Lift a
monadic state into StateT . |
static <R,M extends MonadRec<?,M>,A> |
ReaderT.readerT(Fn1<? super R,? extends MonadRec<A,M>> fn)
|
<MELR extends MonadRec<Either<L,R>,M>> |
EitherT.runEitherT()
Recover the full structure of the embedded
Monad . |
<MIA extends MonadRec<Identity<A>,M>> |
IdentityT.runIdentityT()
Recover the full structure of the embedded
Monad . |
<MLA extends MonadRec<Lazy<A>,M>> |
LazyT.runLazyT()
Recover the full structure of the embedded
Monad . |
<MMA extends MonadRec<Maybe<A>,M>> |
MaybeT.runMaybeT()
Recover the full structure of the embedded
Monad . |
<MA extends MonadRec<A,M>> |
ReaderT.runReaderT(R r)
Run the computation represented by this
ReaderT . |
<MAS extends MonadRec<Tuple2<A,S>,M>> |
StateT.runStateT(S s)
|
<MAW extends MonadRec<Tuple2<A,W>,M>> |
WriterT.runWriterT(Monoid<W> monoid)
Given a
Monoid for the accumulation, run the computation represented by this WriterT inside the
monadic effect , accumulate the written output in terms of the Monoid , and produce the
accumulation and the result inside the Monad . |
static <S,M extends MonadRec<?,M>,A> |
StateT.stateT(Fn1<? super S,? extends MonadRec<Tuple2<A,S>,M>> stateFn)
Lift a state-sensitive
monadically embedded computation into StateT . |
static <S,M extends MonadRec<?,M>,A> |
StateT.stateT(MonadRec<A,M> ma)
Lift a
monadic value into StateT . |
static <W,M extends MonadRec<?,M>> |
WriterT.tell(MonadRec<W,M> mw)
|
static <W,M extends MonadRec<?,M>,A> |
WriterT.writerT(MonadRec<Tuple2<A,W>,M> maw)
|
Modifier and Type | Method and Description |
---|---|
static <M extends MonadRec<?,M>,L,R> |
EitherT.eitherT(MonadRec<Either<L,R>,M> melr)
|
static <M extends MonadRec<?,M>,A> |
IdentityT.identityT(MonadRec<Identity<A>,M> mia)
|
static <M extends MonadRec<?,M>,A> |
LazyT.lazyT(MonadRec<Lazy<A>,M> mla)
|
<B,N extends MonadRec<?,N>> |
LazyT.lift(MonadRec<B,N> mb)
|
<B,N extends MonadRec<?,N>> |
MaybeT.lift(MonadRec<B,N> mb)
|
<B,N extends MonadRec<?,N>> |
WriterT.lift(MonadRec<B,N> mb)
|
<B,N extends MonadRec<?,N>> |
StateT.lift(MonadRec<B,N> mb)
|
<B,N extends MonadRec<?,N>> |
ReaderT.lift(MonadRec<B,N> mb)
|
<B,N extends MonadRec<?,N>> |
IdentityT.lift(MonadRec<B,N> mb)
|
<R2,N extends MonadRec<?,N>> |
EitherT.lift(MonadRec<R2,N> mb)
|
static <W,M extends MonadRec<?,M>,A> |
WriterT.listen(MonadRec<A,M> ma)
|
static <M extends MonadRec<?,M>,A> |
MaybeT.maybeT(MonadRec<Maybe<A>,M> mma)
|
static <S,M extends MonadRec<?,M>> |
StateT.put(MonadRec<S,M> ms)
Lift a
monadic state into StateT . |
static <S,M extends MonadRec<?,M>,A> |
StateT.stateT(MonadRec<A,M> ma)
Lift a
monadic value into StateT . |
static <W,M extends MonadRec<?,M>> |
WriterT.tell(MonadRec<W,M> mw)
|
static <W,M extends MonadRec<?,M>,A> |
WriterT.writerT(MonadRec<Tuple2<A,W>,M> maw)
|
Modifier and Type | Method and Description |
---|---|
static <S,M extends MonadRec<?,M>,A> |
StateT.gets(Fn1<? super S,? extends MonadRec<A,M>> fn)
Given a function that produces a value inside a
monadic effect from a state, produce a
StateT that simply passes its state to the function and applies it. |
<MA extends MonadRec<A,M>,N extends MonadRec<?,N>,B> |
ReaderT.mapReaderT(Fn1<? super MA,? extends MonadRec<B,N>> fn)
|
<N extends MonadRec<?,N>,B> |
StateT.mapStateT(Fn1<? super MonadRec<Tuple2<A,S>,M>,? extends MonadRec<Tuple2<B,S>,N>> fn)
Map both the result and the final state to a new result and final state inside the
Monad . |
<N extends MonadRec<?,N>,B> |
StateT.mapStateT(Fn1<? super MonadRec<Tuple2<A,S>,M>,? extends MonadRec<Tuple2<B,S>,N>> fn)
Map both the result and the final state to a new result and final state inside the
Monad . |
static <S,M extends MonadRec<?,M>> |
StateT.modify(Fn1<? super S,? extends MonadRec<S,M>> updateFn)
|
static <R,M extends MonadRec<?,M>,A> |
ReaderT.readerT(Fn1<? super R,? extends MonadRec<A,M>> fn)
|
static <S,M extends MonadRec<?,M>,A> |
StateT.stateT(Fn1<? super S,? extends MonadRec<Tuple2<A,S>,M>> stateFn)
Lift a state-sensitive
monadically embedded computation into StateT . |
<B> IdentityT<M,B> |
IdentityT.trampolineM(Fn1<? super A,? extends MonadRec<RecursiveResult<A,B>,IdentityT<M,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<B> LazyT<M,B> |
LazyT.trampolineM(Fn1<? super A,? extends MonadRec<RecursiveResult<A,B>,LazyT<M,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<B> MaybeT<M,B> |
MaybeT.trampolineM(Fn1<? super A,? extends MonadRec<RecursiveResult<A,B>,MaybeT<M,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<B> ReaderT<R,M,B> |
ReaderT.trampolineM(Fn1<? super A,? extends MonadRec<RecursiveResult<A,B>,ReaderT<R,M,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<B> StateT<S,M,B> |
StateT.trampolineM(Fn1<? super A,? extends MonadRec<RecursiveResult<A,B>,StateT<S,M,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<B> WriterT<W,M,B> |
WriterT.trampolineM(Fn1<? super A,? extends MonadRec<RecursiveResult<A,B>,WriterT<W,M,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
<R2> EitherT<M,L,R2> |
EitherT.trampolineM(Fn1<? super R,? extends MonadRec<RecursiveResult<R,R2>,EitherT<M,L,?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
StateT<S,M,A> |
StateT.withStateT(Fn1<? super S,? extends MonadRec<S,M>> fn)
Map the final state to a new final state inside the same
monadic effect using the provided
function. |
Modifier and Type | Interface and Description |
---|---|
interface |
Monoid<A>
|
Modifier and Type | Class and Description |
---|---|
class |
EndoK<M extends MonadRec<?,M>,A,MA extends MonadRec<A,M>>
The monoid formed under monadic endomorphism.
|
class |
EndoK<M extends MonadRec<?,M>,A,MA extends MonadRec<A,M>>
The monoid formed under monadic endomorphism.
|
Modifier and Type | Class and Description |
---|---|
class |
AddAll<A,C extends Collection<A>>
The
Monoid instance formed under mutative concatenation for an arbitrary Collection . |
class |
And
A
Monoid instance formed by Boolean . |
class |
Collapse<_1,_2>
|
class |
Compose<A>
|
class |
Concat<A>
|
class |
Endo<A>
|
class |
EndoK<M extends MonadRec<?,M>,A,MA extends MonadRec<A,M>>
The monoid formed under monadic endomorphism.
|
class |
First<A>
|
class |
Join
A
Monoid instance formed by String that concats two strings together. |
class |
LeftAll<L,R>
|
class |
LeftAny<L,R>
|
class |
Merge<L,R>
A
Monoid instance formed by Either.merge(com.jnape.palatable.lambda.functions.Fn2<? super L, ? super L, ? extends L>, com.jnape.palatable.lambda.functions.Fn2<? super R, ? super R, ? extends R>, com.jnape.palatable.lambda.adt.Either<L, R>...) , a semigroup over L , and a monoid over
R . |
class |
MergeMaps<K,V>
|
class |
Or
A
Monoid instance formed by Boolean . |
class |
Present<A>
|
class |
PutAll
|
class |
RightAll<L,R>
|
class |
RightAny<L,R>
|
class |
RunAll<A>
|
class |
Trivial
|
class |
Union<A>
|
class |
Xor
Logical exclusive-or.
|
Modifier and Type | Method and Description |
---|---|
static <M extends MonadRec<?,M>,A,MA extends MonadRec<A,M>> |
EndoK.endoK() |
static <M extends MonadRec<?,M>,A,MA extends MonadRec<A,M>> |
EndoK.endoK() |
static <M extends MonadRec<?,M>,A,MA extends MonadRec<A,M>> |
EndoK.endoK(Pure<M> pureM) |
static <M extends MonadRec<?,M>,A,MA extends MonadRec<A,M>> |
EndoK.endoK(Pure<M> pureM) |
Modifier and Type | Interface and 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 are
Isos that can fail in one direction. |
static interface |
Prism.Simple<S,A>
A convenience type with a simplified type signature for common
prism with unified S/T
and A/B types. |
Modifier and Type | Method and Description |
---|---|
default <U> Iso<S,U,A,B> |
Iso.trampolineM(Fn1<? super T,? extends MonadRec<RecursiveResult<T,U>,Iso<S,?,A,B>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
default <U> Lens<S,U,A,B> |
Lens.trampolineM(Fn1<? super T,? extends MonadRec<RecursiveResult<T,U>,Lens<S,?,A,B>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
default <U> Prism<S,U,A,B> |
Prism.trampolineM(Fn1<? super T,? extends MonadRec<RecursiveResult<T,U>,Prism<S,?,A,B>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |
Modifier and Type | Class and Description |
---|---|
class |
Matching<S,T,A,B> |
class |
Over<S,T,A,B>
Given an
Optic , a function from A to B , and a "larger" value S ,
produce a T by retrieving the A from the S , applying the function, and
updating the S with the B resulting from the function. |
class |
Pre<P extends Profunctor<?,?,? extends P>,S,T,A,B>
|
class |
Re<S,T,A,B>
Turn an
Optic 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>
|
Modifier and Type | Interface and Description |
---|---|
interface |
Semigroup<A>
A
Semigroup is a closed, associative category. |
Modifier and Type | Class and Description |
---|---|
class |
Absent<A>
|
class |
Intersection<A>
|
class |
Max<A extends Comparable<A>>
A
Semigroup over A that chooses between two values x and y via the
following rules:
If x is strictly less than y , return y
Otherwise, return x
|
class |
MaxBy<A,B extends Comparable<B>>
Given a mapping function from some type
A to some Comparable type B , produce a
Semigroup over A that chooses between two values x and y via the
following rules:
If x is strictly less than y in terms of B , return y
Otherwise, return x
|
class |
Min<A extends Comparable<A>>
A
Semigroup over A that chooses between two values x and y via the
following rules:
If x is strictly greater than y , return y
Otherwise, return x
|
class |
MinBy<A,B extends Comparable<B>>
Given a mapping function from some type
A to some Comparable type B , produce a
Semigroup over A that chooses between two values x and y via the
following rules:
If x is strictly greater than y in terms of B , return y
Otherwise, return x
|
Modifier and Type | Class and Description |
---|---|
class |
LambdaIterable<A>
|
Modifier and Type | Method and Description |
---|---|
<B> LambdaIterable<B> |
LambdaIterable.trampolineM(Fn1<? super A,? extends MonadRec<RecursiveResult<A,B>,LambdaIterable<?>>> fn)
Given some operation yielding a
RecursiveResult inside this MonadRec , internally trampoline the
operation until it yields a termination instruction. |