diff options
author | Vincent Ambo <mail@tazj.in> | 2022-08-24T19·08+0300 |
---|---|---|
committer | tazjin <tazjin@tvl.su> | 2022-09-03T00·47+0000 |
commit | 6ce2c666c32a3ecb5512a5b186896ae1a1f84838 (patch) | |
tree | a78a11e2f9080dc59e87470b3b11f14a6c653dac /tvix/eval/src/builtins/mod.rs | |
parent | af9dca36635df677fce559c5fdd3f08680d84557 (diff) |
refactor(tvix/eval): introduce Closure struct in Value type r/4605
This struct will carry the upvalue machinery in addition to the lambda itself. For now, all lambdas are wrapped in closures (though technically analysis of the environment can later remove innermost Closure wrapper, but this optimisation may not be worth it). Change-Id: If2b68549ec1ea4ab838fdc47a2181c694ac937f2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6269 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
Diffstat (limited to 'tvix/eval/src/builtins/mod.rs')
-rw-r--r-- | tvix/eval/src/builtins/mod.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tvix/eval/src/builtins/mod.rs b/tvix/eval/src/builtins/mod.rs index 11e0dc8d9fa7..99a63c97998d 100644 --- a/tvix/eval/src/builtins/mod.rs +++ b/tvix/eval/src/builtins/mod.rs @@ -44,7 +44,7 @@ fn pure_builtins() -> Vec<Builtin> { }), Builtin::new("isFunction", 1, |args| { Ok(Value::Bool(match args[0] { - Value::Lambda(_) => true, + Value::Closure(_) => true, Value::Builtin(_) => true, _ => false, })) |