tvl-depot/tvix/eval
Vincent Ambo a93933b487 feat(tvix): implement string interpolation
This adds a new instruction which assembles an interpolated string
from a specified number of fragments, which are already going to be
located on the stack in the right position.

This will raise a type error if any of the fragments do not evaluate
to a string.

Change-Id: I5756248fa3e9fcc3d063c14db40b332f7e20a588
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6098
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
2022-08-13 18:28:36 +00:00
..
docs docs(tvix/eval): add design documentation for attrset opcodes 2022-08-13 15:31:50 +00:00
src feat(tvix): implement string interpolation 2022-08-13 18:28:36 +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.