tvl-depot/tvix/eval
Vincent Ambo e876c3a41c fix(tvix/value): KV struct needs to carry name as Value, too
Users may construct a pair that falls into the name/value optimisation
but where `name` is not actually a string, as from the language
perspective there is nothing special about this attribute set.

We also can not conditionally apply this by forcing the key at this
point, as this would change the language semantics.

Therefore, the name in the optimised representation is also carried as
`Value`.

Change-Id: I5be8a4c98ba19ebdfb7203a929f714a04492512e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6101
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2022-08-13 20:24:12 +00:00
..
docs docs(tvix/eval): add design documentation for attrset opcodes 2022-08-13 15:31:50 +00:00
src fix(tvix/value): KV struct needs to carry name as Value, too 2022-08-13 20:24:12 +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.