public static interface Func.X<𝓐,𝓑,𝓒,𝓓,𝓔,𝓕,𝓖,𝓗,𝓘,𝓙,𝓚> extends Lazy<Func.X<𝓐,𝓑,𝓒,𝓓,𝓔,𝓕,𝓖,𝓗,𝓘,𝓙,𝓚>>, frege.run.Kind.U<Func.X<𝓐,𝓑,𝓒,𝓓,𝓔,𝓕,𝓖,𝓗,𝓘,𝓙,?>,𝓚>, frege.run.Kind.B<Func.X<𝓐,𝓑,𝓒,𝓓,𝓔,𝓕,𝓖,𝓗,𝓘,?,?>,𝓙,𝓚>, frege.run.Kind.T<Func.X<𝓐,𝓑,𝓒,𝓓,𝓔,𝓕,𝓖,𝓗,?,?,?>,𝓘,𝓙,𝓚>, frege.run.Kind.Q<Func.X<𝓐,𝓑,𝓒,𝓓,𝓔,𝓕,𝓖,?,?,?,?>,𝓗,𝓘,𝓙,𝓚>, frege.run.Kind.V<Func.X<𝓐,𝓑,𝓒,𝓓,𝓔,𝓕,?,?,?,?,?>,𝓖,𝓗,𝓘,𝓙,𝓚>, frege.run.Kind.VI<Func.X<𝓐,𝓑,𝓒,𝓓,𝓔,?,?,?,?,?,?>,𝓕,𝓖,𝓗,𝓘,𝓙,𝓚>, frege.run.Kind.VII<Func.X<𝓐,𝓑,𝓒,𝓓,?,?,?,?,?,?,?>,𝓔,𝓕,𝓖,𝓗,𝓘,𝓙,𝓚>, frege.run.Kind.VIII<Func.X<𝓐,𝓑,𝓒,?,?,?,?,?,?,?,?>,𝓓,𝓔,𝓕,𝓖,𝓗,𝓘,𝓙,𝓚>, frege.run.Kind.IX<Func.X<𝓐,𝓑,?,?,?,?,?,?,?,?,?>,𝓒,𝓓,𝓔,𝓕,𝓖,𝓗,𝓘,𝓙,𝓚>, frege.run.Kind.X<Func.X<𝓐,?,?,?,?,?,?,?,?,?,?>,𝓑,𝓒,𝓓,𝓔,𝓕,𝓖,𝓗,𝓘,𝓙,𝓚>, frege.run.Kind.XI<Func.X<?,?,?,?,?,?,?,?,?,?,?>,𝓐,𝓑,𝓒,𝓓,𝓔,𝓕,𝓖,𝓗,𝓘,𝓙,𝓚>
| Modifier and Type | Interface and Description |
|---|---|
static class |
Func.X.D<𝓐,𝓑,𝓒,𝓓,𝓔,𝓕,𝓖,𝓗,𝓘,𝓙,𝓚> |
| Modifier and Type | Method and Description |
|---|---|
Lazy<𝓚> |
apply(Lazy<𝓐> a,
Lazy<𝓑> b,
Lazy<𝓒> c,
Lazy<𝓓> d,
Lazy<𝓔> e,
Lazy<𝓕> f,
Lazy<𝓖> g,
Lazy<𝓗> h,
Lazy<𝓘> i,
Lazy<𝓙> j) |
Func.X<𝓐,𝓑,𝓒,𝓓,𝓔,𝓕,𝓖,𝓗,𝓘,𝓙,𝓚> |
call()
Compute the value if it is needed.
|
boolean |
isShared()
Tell if this is shared.
|
Lazy<𝓚> apply(Lazy<𝓐> a, Lazy<𝓑> b, Lazy<𝓒> c, Lazy<𝓓> d, Lazy<𝓔> e, Lazy<𝓕> f, Lazy<𝓖> g, Lazy<𝓗> h, Lazy<𝓘> i, Lazy<𝓙> j)
Func.X<𝓐,𝓑,𝓒,𝓓,𝓔,𝓕,𝓖,𝓗,𝓘,𝓙,𝓚> call()
LazyCompute the value if it is needed.
boolean isShared()
LazyTell if this is shared.
Data and functions whose Lazy.call() method returns this as well
as simple boxes that just hold a value ready to be supplied and Thunks
are considered shared.
But a bare lambda expression is assumed to be in need of sharing. For example:
() -> 42