public abstract static class Func.Q.D<𝓐,𝓑,𝓒,𝓓,𝓔> extends java.lang.Object implements Func.Q<𝓐,𝓑,𝓒,𝓓,𝓔>
| Constructor and Description |
|---|
D() |
| Modifier and Type | Method and Description |
|---|---|
abstract Lazy<𝓔> |
apply(Lazy<𝓐> a,
Lazy<𝓑> b,
Lazy<𝓒> c,
Lazy<𝓓> d) |
Thunk<Func.Q<𝓐,𝓑,𝓒,𝓓,𝓔>> |
asThunk()
Tell if this is really a
Thunk |
Func.Q<𝓐,𝓑,𝓒,𝓓,𝓔> |
call()
Compute the value if it is needed.
|
boolean |
isShared()
Tell if this is shared.
|
public Func.Q<𝓐,𝓑,𝓒,𝓓,𝓔> call()
LazyCompute the value if it is needed.
public 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 public Thunk<Func.Q<𝓐,𝓑,𝓒,𝓓,𝓔>> asThunk()
Lazy Tell if this is really a Thunk