feat(tvix/eval): implement capture of self-recursive upvalues
With this change, it becomes possible for functions to call themselves as they are being defined in local bindings. Change-Id: Ib46a39ba17b1452b5673d96fa729d633d237241a Reviewed-on: https://cl.tvl.fyi/c/depot/+/6314 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
This commit is contained in:
parent
06b07f5c47
commit
ae531a2245
4 changed files with 22 additions and 7 deletions
|
|
@ -0,0 +1 @@
|
|||
"done"
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
let
|
||||
# self-recursive function should be able to close over itself
|
||||
f = n: if n <= 0 then "done" else f (n - 1);
|
||||
in f 10
|
||||
Loading…
Add table
Add a link
Reference in a new issue