tvl-depot/tvix/eval/src/value
Vincent Ambo 1163ef3e41 feat(tvix/eval): implement compilation of upvalue access
This adds a new upvalue tracking structure in the compiler to resolve
upvalues and track their positions within a function when compiling a
closure.

The compiler will emit runtime upvalue access instructions after this
commit, but the creation of the runtime closure object etc. is not yet
wired up.

Change-Id: Ib0c2c25f686bfd45f797c528753068858e3a770d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6289
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
2022-09-03 21:55:04 +00:00
..
attrs refactor(tvix/value): ensure internal attrs representation is hidden 2022-08-25 12:07:30 +00:00
attrs.rs refactor(tvix/eval): avoid cloning in NixAttrs::update if possible 2022-09-03 13:19:48 +00:00
builtin.rs fix(tvix/eval): address all current clippy lints 2022-09-03 00:47:58 +00:00
function.rs feat(tvix/eval): implement compilation of upvalue access 2022-09-03 21:55:04 +00:00
list.rs feat(tvix/eval): implement builtins.catAttrs 2022-09-02 12:59:23 +00:00
mod.rs refactor(tvix/eval): rename Value::NotFound & OpAttrOrNotFound 2022-09-03 00:49:45 +00:00
string.rs fix(tvix/eval): correctly escape ${ in strings 2022-09-03 00:47:58 +00:00