snix/tvix/eval/src
Vincent Ambo abd8f12f5d refactor(tvix/eval): extend resolve_local logic for self-recursion
This extends the logic of `Scope::resolve_local` to detect cases where
self-recursion is occuring (i.e. an identifier is being accessed in
its own identifier).

These cases are not yet handled specially, and the logic of when
things are marked initialised (which was previously always at the same
spot as their declaration) has not changed, making this commit a
runtime no-op for now.

Change-Id: I3179642a7c55869ad4465fdd2678b0cd51a20f15
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6302
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-09-04 17:40:10 +00:00
..
builtins fix(tvix/eval): address all current clippy lints 2022-09-03 00:47:58 +00:00
compiler refactor(tvix/eval): extend resolve_local logic for self-recursion 2022-09-04 17:40:10 +00:00
tests feat(tvix/eval): implement upvalue resolution in with scopes 2022-09-04 17:40:10 +00:00
value feat(tvix/eval): implement upvalue resolution in with scopes 2022-09-04 17:40:10 +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): implement upvalue resolution in with scopes 2022-09-04 17:40:10 +00:00
vm.rs feat(tvix/eval): implement upvalue resolution in with scopes 2022-09-04 17:40:10 +00:00
warnings.rs feat(tvix/eval): emit warnings when globals are being shadowed 2022-09-02 12:59:23 +00:00