2020-02-14 08:13:52 +03:00
|
|
|
public fun makeLazy (f) {
|
2020-01-20 03:38:43 +03:00
|
|
|
local value, set = false;
|
|
|
|
|
|
|
|
|
|
fun () {
|
2020-02-15 22:58:43 +03:00
|
|
|
if set
|
|
|
|
|
then value
|
|
|
|
|
else set := true; value := f (); value
|
|
|
|
|
fi
|
2020-01-20 03:38:43 +03:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public fun force (f) {
|
|
|
|
|
f ()
|
|
|
|
|
}
|