mirror of
https://github.com/ProgramSnail/Lama.git
synced 2025-12-06 06:48:48 +00:00
More stdlib; memoized CPS parser combinators workout
This commit is contained in:
parent
b05ad7f6b1
commit
1027d988fc
10 changed files with 253 additions and 7 deletions
14
stdlib/Lazy.expr
Normal file
14
stdlib/Lazy.expr
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
public fun lazy (f) {
|
||||
local value, set = false;
|
||||
|
||||
fun () {
|
||||
if set
|
||||
then value
|
||||
else set := true; value := f (); value
|
||||
fi
|
||||
}
|
||||
}
|
||||
|
||||
public fun force (f) {
|
||||
f ()
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue