about summary refs log tree commit diff
path: root/tvix/eval/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'tvix/eval/README.md')
-rw-r--r--tvix/eval/README.md58
1 files changed, 58 insertions, 0 deletions
diff --git a/tvix/eval/README.md b/tvix/eval/README.md
new file mode 100644
index 000000000000..04bc6c3eb82b
--- /dev/null
+++ b/tvix/eval/README.md
@@ -0,0 +1,58 @@
+Tvix Evaluator
+==============
+
+This project implements an interpreter for the Nix programming
+language. You can experiment with an online version of the evaluator:
+[tvixbolt][].
+
+The interpreter aims to be compatible with `nixpkgs`, on the
+foundation of Nix 2.3.
+
+**Important note:** The evaluator is not yet feature-complete, and
+while the core mechanisms (compiler, runtime, ...) have stabilised
+somewhat, a lot of components are still changing rapidly.
+
+Please contact [TVL](https://tvl.fyi) with any questions you might
+have.
+
+## Building tvix-eval
+
+Please check the `README.md` one level up for instructions on how to build this.
+
+The evaluator itself can also be built with standard Rust tooling (i.e. `cargo
+build`).
+
+If you would like to clone **only** the evaluator and build it
+directly with Rust tooling, you can do:
+
+```bash
+git clone https://code.tvl.fyi/depot.git:/tvix/eval.git tvix-eval
+
+cd tvix-eval && cargo build
+```
+
+## Nix test suite
+
+C++ Nix implements a language test suite in the form of Nix source
+code files, and their expected output. The coverage of this test suite
+is not complete, but we intend to be compatible with it.
+
+We have ported the test suite to Tvix, but do not run it by default as
+we are not yet compatible with it.
+
+You can run the test suite by enabling the `nix_tests` feature in
+Cargo:
+
+    cargo test --features nix_tests
+
+## rnix-parser
+
+Tvix is written in memory of jD91mZM2, the author of [rnix-parser][]
+who sadly [passed away][rip].
+
+Tvix makes heavy use of rnix-parser in its bytecode compiler. The
+parser is now maintained by Nix community members.
+
+[rnix-parser]: https://github.com/nix-community/rnix-parser
+[rip]: https://www.redox-os.org/news/open-source-mental-health/
+[tvixbolt]: https://tazj.in/blobs/tvixbolt/