public static interface Func.T<𝓐,𝓑,𝓒,𝓓> extends Lazy<Func.T<𝓐,𝓑,𝓒,𝓓>>, frege.run.Kind.U<Func.T<𝓐,𝓑,𝓒,?>,𝓓>, frege.run.Kind.B<Func.T<𝓐,𝓑,?,?>,𝓒,𝓓>, frege.run.Kind.T<Func.T<𝓐,?,?,?>,𝓑,𝓒,𝓓>, frege.run.Kind.Q<Func.T<?,?,?,?>,𝓐,𝓑,𝓒,𝓓>
| Modifier and Type | Interface and Description |
|---|---|
static class |
Func.T.D<𝓐,𝓑,𝓒,𝓓> |
Func.T<𝓐,𝓑,𝓒,𝓓> 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