tvl-depot/tvix/eval/src
Griffin Smith 03a3189a3d feat(tvix/eval): Initial impl of builtins.match
Implement an *initial* version of builtins.match, using the rust `regex`
crate for regular expressions. The rust regex crate definitely has
different semantics than nix's regular expressions - but we'd like to
see how far we can get before the incompatibility starts to matter.

This consciously leaves out any sort of memo for compiled regular
expressions (which upstream nix also has) for the sake of expediency -
in the future we should implement that so we don't have to compile the
same regular expression multiple times.

Change-Id: I5b718635831ec83397940e417a9047c4342b6fa1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6989
Tested-by: BuildkiteCI
Reviewed-by: Adam Joseph <adam@westernsemico.com>
Reviewed-by: tazjin <tazjin@tvl.su>
2022-10-15 20:35:22 +00:00
..
builtins feat(tvix/eval): Initial impl of builtins.match 2022-10-15 20:35:22 +00:00
compiler fix(tvix/eval): fix Compiler::new on wasm 2022-10-13 16:29:49 +00:00
tests feat(tvix/eval): Initial impl of builtins.match 2022-10-15 20:35:22 +00:00
value feat(tvix/eval): Implement builtins.fromJSON 2022-10-15 20:35:22 +00:00
chunk.rs refactor(tvix/eval): introduce source::SourceCode type 2022-10-05 10:29:47 +00:00
errors.rs feat(tvix/eval): Implement builtins.fromJSON 2022-10-15 20:35:22 +00:00
eval.rs feat(tvix/eval): allow to disable warnings 2022-10-13 02:49:59 +00:00
lib.rs refactor(tvix/eval) s/NixPath/NixSearchPath/ 2022-10-12 08:09:49 +00:00
main.rs feat(tvix/eval): Allow directly evaluating an expr via main 2022-10-11 00:33:49 +00:00
nix_search_path.rs fix(tvix/eval): nix_search_path.rs: use /etc instead of /bin 2022-10-13 09:07:30 +00:00
observer.rs feat(tvix/eval): observe stack after exiting call frames/builtins 2022-10-11 00:07:39 +00:00
opcode.rs refactor(tvix/eval): remove OpResolveWithOrUpvalue 2022-10-14 09:18:38 +00:00
properties.rs refactor(tvix/eval): Don't (ab)use PartialEq for Nix equality 2022-09-18 22:03:41 +00:00
source.rs feat(tvix/eval): fancy-format parse errors returned by rnix 2022-10-08 17:27:57 +00:00
spans.rs refactor(tvix/eval): implement ToSpan directly for rnix::TextRange 2022-10-08 10:58:42 +00:00
test_utils.rs test(tvix/eval): Add proof-of-concept test for Chunk 2022-09-18 17:55:06 +00:00
upvalues.rs refactor(tvix/eval): Don't (ab)use PartialEq for Nix equality 2022-09-18 22:03:41 +00:00
vm.rs docs(tvix/eval) vm: explain VM::{frames,stack,with_stack} 2022-10-14 09:35:28 +00:00
warnings.rs refactor(tvix/eval): introduce source::SourceCode type 2022-10-05 10:29:47 +00:00