tvl-depot/tvix/eval/src/value
Griffin Smith 69cbcc1eda refactor(tvix/eval): Simplify forcing in builtins
Refactor the `force!` macro to a method on `Value` which returns a
smart-pointer-esque type, which simplifies the callsite and eliminates
rightward drift, especially for high-arity builtins.

Change-Id: I97a7837580accfb4bbd03b24f2acdbd38645efa5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6656
Autosubmit: grfn <grfn@gws.fyi>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2022-09-18 22:33:19 +00:00
..
attrs chore(tvix/eval): Pass in VM to nix_eq 2022-09-18 22:03:42 +00:00
arbitrary.rs test(tvix/eval): impl Arbitrary for Value 2022-09-18 17:55:07 +00:00
attrs.rs chore(tvix/eval): Pass in VM to nix_eq 2022-09-18 22:03:42 +00:00
builtin.rs refactor(tvix/eval): Don't (ab)use PartialEq for Nix equality 2022-09-18 22:03:41 +00:00
function.rs refactor(tvix/eval): Don't (ab)use PartialEq for Nix equality 2022-09-18 22:03:41 +00:00
list.rs chore(tvix/eval): Pass in VM to nix_eq 2022-09-18 22:03:42 +00:00
mod.rs refactor(tvix/eval): Simplify forcing in builtins 2022-09-18 22:33:19 +00:00
string.rs test(tvix/eval): Add proptests covering trait impls for String 2022-09-17 19:51:16 +00:00
thunk.rs refactor(tvix/eval): Don't (ab)use PartialEq for Nix equality 2022-09-18 22:03:41 +00:00