snix/tvix/eval/src
Vincent Ambo 6b3c3c9826 refactor(tvix/eval): add macros for generating Value casters
The casting methods of `Value` are pretty verbose, and actually
incorrect before this commit as they did not account for inner thunk
values.

To address this, we first attempt to make them correct by introducing
a standard macro to generate them and traverse the inner thunk(s) if
necessary.

This is likely to be a performance hit as it will now involve more
cloning of values. We can do multiple things to alleviate this, but
should do some measurements first.

Change-Id: If315d6e2afe7b69db727df535bc6cbfb89a691aa
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6412
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-09-08 08:45:15 +00:00
..
builtins refactor(tvix/eval): add macros for generating Value casters 2022-09-08 08:45:15 +00:00
compiler fix(tvix/eval): inherit scope poisoning data in nested contexts 2022-09-08 07:59:15 +00:00
tests fix(tvix/eval): inherit scope poisoning data in nested contexts 2022-09-08 07:59:15 +00:00
value refactor(tvix/eval): add macros for generating Value casters 2022-09-08 08:45:15 +00:00
chunk.rs feat(tvix/eval): track source spans for builtin access 2022-09-07 20:04:17 +00:00
disassembler.rs fix(tvix/eval): avoid recomputing width in disassemble_op constantly 2022-09-07 15:25:59 +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): ensure all errors always carry a span 2022-09-08 07:59:15 +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): add macros for generating Value casters 2022-09-08 08:45:15 +00:00
warnings.rs refactor(tvix/eval): store spans instead of nodes in Warning/Error 2022-09-07 20:04:26 +00:00