tvl-depot/tvix/eval/src
Vincent Ambo 9973ddfcba refactor(tvix/eval): refactor locals to use an enum for phantoms
Instead of using sentinel values and an additional bool, this tracks
the identifier of a local as an enum that is either a statically known
name, or a phantom.

To make this work correctly some more locals related logic has been
encapsulated in the `scope` module, which is a good thing (that's the
goal).

Phantom values are now not initialised by default, but the only
current call site of phantoms (`with` expression compilation) performs
the initialisation right away.

This commit changes no actual functionality right now, but paves the
way for fixing an issue related to `let` bodies.

Change-Id: I679f93a59a4daeacfe40f4012263cfb7bc05034e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6421
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-09-08 13:36:26 +00:00
..
builtins fix(tvix/eval): force argument of builtins.length 2022-09-08 12:53:20 +00:00
compiler refactor(tvix/eval): refactor locals to use an enum for phantoms 2022-09-08 13:36:26 +00:00
tests fix(tvix/eval): inherit scope poisoning data in nested contexts 2022-09-08 07:59:15 +00:00
value fix(tvix/eval): don't panic when printing a black hole 2022-09-08 12:53:20 +00:00
chunk.rs feat(tvix/eval): thread codemap through to disassembler 2022-09-08 12:53:08 +00:00
disassembler.rs refactor(tvix/eval): implement much clearer disassembler output 2022-09-08 13:36:26 +00:00
errors.rs fix(tvix/eval): thread thunk forcing errors through correctly 2022-09-08 07:59:15 +00:00
eval.rs feat(tvix/eval): thread codemap through to disassembler 2022-09-08 12:53:08 +00:00
lib.rs refactor(tvix/eval): introduce UpvalueCarrier trait 2022-09-06 14:58:52 +00:00
main.rs refactor(tvix/eval): explicitly discard uninteresting results 2022-09-03 13:19:48 +00:00
opcode.rs fix(tvix/eval): address current clippy lints 2022-09-07 19:08:56 +00:00
upvalues.rs refactor(tvix/eval): introduce UpvalueCarrier trait 2022-09-06 14:58:52 +00:00
vm.rs refactor(tvix/eval): implement much clearer disassembler output 2022-09-08 13:36:26 +00:00
warnings.rs refactor(tvix/eval): store spans instead of nodes in Warning/Error 2022-09-07 20:04:26 +00:00