tvl-depot/tvix/eval/src
Vincent Ambo 6c1948a71a feat(tvix/eval): detect deferred upvalue capturing
Uses the threaded through slot offset to determine whether
initialisation of a captured local upvalue must be defered to a later
point where all values of a scope are available.

This adds a new data representation to the opcode for this situation,
but the equivalent runtime handling is not yet implemented. This is in
part because there is more compiler machinery needed to find the
resolution point.

Change-Id: Ifd0c393f76abfe6e2d91483faf0f58947ab1dedc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6329
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-09-06 14:58:52 +00:00
..
builtins fix(tvix/eval): address all current clippy lints 2022-09-03 00:47:58 +00:00
compiler feat(tvix/eval): detect deferred upvalue capturing 2022-09-06 14:58:52 +00:00
tests fix(tvix/eval): instantiate *new* closures from blueprints each time 2022-09-06 07:45:43 +00:00
value fix(tvix/eval): instantiate *new* closures from blueprints each time 2022-09-06 07:45:43 +00:00
chunk.rs refactor(tvix/eval): return a lambda from the compiler 2022-09-01 21:56:17 +00:00
disassembler.rs feat(tvix/eval): implement chunk disassembler output 2022-08-30 16:53:40 +00:00
errors.rs feat(tvix/eval): detect illegally shadowed variables 2022-09-04 17:40:10 +00:00
eval.rs chore(tvix/eval): print node representation for compiler errors 2022-09-03 21:55:04 +00:00
lib.rs feat(tvix/eval): introduce mechanism for defining builtins 2022-09-02 12:59:23 +00:00
main.rs refactor(tvix/eval): explicitly discard uninteresting results 2022-09-03 13:19:48 +00:00
opcode.rs feat(tvix/eval): detect deferred upvalue capturing 2022-09-06 14:58:52 +00:00
vm.rs feat(tvix/eval): detect deferred upvalue capturing 2022-09-06 14:58:52 +00:00
warnings.rs feat(tvix/eval): emit warnings when globals are being shadowed 2022-09-02 12:59:23 +00:00