tvl-depot/tvix/eval
Vincent Ambo 293fb0ef53 refactor(tvix/value): encapsulate attrset logic within value::attrs
The internal optimisations of the set representation were previously
leaking into the VM, which is highly undesirable.

Keeping it encapsulated allows us to do additional optimisations
within value::attrs without being concerned about its use in the VM.

Change-Id: I7e7020bb0983b9d355d3db747b049b2faa60131f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6108
Reviewed-by: eta <tvl@eta.st>
Tested-by: BuildkiteCI
2022-08-24 18:19:52 +00:00
..
docs docs(tvix/eval): add design documentation for attrset opcodes 2022-08-13 15:31:50 +00:00
src refactor(tvix/value): encapsulate attrset logic within value::attrs 2022-08-24 18:19:52 +00:00
.gitignore feat(tvix/eval): check in generated project skeleton 2022-08-12 12:34:29 +00:00
Cargo.lock chore(tvix/eval): add rnix-parser dependency 2022-08-12 12:39:19 +00:00
Cargo.toml chore(tvix/eval): add rnix-parser dependency 2022-08-12 12:39:19 +00:00
default.nix chore(tvix/eval): check in naersk-based default.nix 2022-08-12 12:39:19 +00:00
README.md docs(tvix/eval): Add initial evaluator README 2022-08-12 12:34:29 +00:00

Tvix Evaluator

This project implements an interpreter for the Nix programming language.

The interpreter aims to be compatible with nixpkgs, on the foundation of Nix 2.3.

Work on this project is extremely in-progress, and the state of the project in the public repository may not necessarily reflect the state of the private codebase, as we are slowly working on publishing it.

We expect this to have caught up in a handful of weeks (as of 2022-08-12).

Please contact TVL with any questions you might have.

rnix-parser

Tvix is written in memory of jD91mZM2, the author of rnix-parser who sadly passed away.

Tvix makes heavy use of rnix-parser in its bytecode compiler. The parser is now maintained by Nix community members.