docs(web/tvl): small updates & fixes to September '22 Tvix status

Change-Id: I2cf57abb0f8c21c3893e68ce2c6fb92a2c0d3ee6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6559
Reviewed-by: flokli <flokli@flokli.de>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
This commit is contained in:
Vincent Ambo 2022-09-13 15:00:24 +03:00 committed by clbot
parent dd22659288
commit 4c91102a7c

View file

@ -16,7 +16,7 @@ We developed the evaluator to the current state by enumerating the
various problems we were likely to encounter, and writing small-scale various problems we were likely to encounter, and writing small-scale
solutions to them before assembling them into a whole. Due to the solutions to them before assembling them into a whole. Due to the
nature of this process, we briefly ended up with a very large private nature of this process, we briefly ended up with a very large private
source tree, which we [integrated]() into our monorepo in the last source tree, which we [integrated][] into our monorepo in the last
couple of weeks. couple of weeks.
This process was slow mostly due to code review bandwidth, but This process was slow mostly due to code review bandwidth, but
@ -44,8 +44,8 @@ and it is simply a question of time until we've done it. Progress is
steady and can of course be tracked [in the source][src] (viewer steady and can of course be tracked [in the source][src] (viewer
without Javascript [here][src-noscript]). without Javascript [here][src-noscript]).
At the same time, we've already implemented a variety of basics that At the same time, we've already implemented some basics that are
are hopefully going to have a huge impact further down, such as: hopefully going to have a huge impact further down, such as:
* The Tvix compiler is built to be able to emit warnings & errors * The Tvix compiler is built to be able to emit warnings & errors
without failing early, as well as retaining as much source without failing early, as well as retaining as much source
@ -61,6 +61,11 @@ are hopefully going to have a huge impact further down, such as:
(yet!)) cases, allowing us to evaluate many recursive expressions in (yet!)) cases, allowing us to evaluate many recursive expressions in
constant stack space. constant stack space.
* The runtime supports having different backing representations for
the same Nix type. For example, an attribute set may be represented
differently based on whether it is empty, a `name/value` pair or a
larger set.
### How does this all work? ### How does this all work?
Tvix's evaluator is implemented using a custom abstract machine with a Tvix's evaluator is implemented using a custom abstract machine with a
@ -146,5 +151,5 @@ around!
[grfn]: https://gws.fyi/ [grfn]: https://gws.fyi/
[sterni]: https://github.com/sternenseemann [sterni]: https://github.com/sternenseemann
[go-nix]: https://github.com/nix-community/go-nix [go-nix]: https://github.com/nix-community/go-nix
[flokli]: https://github.com/flokli [flokli]: https://flokli.de/
[adisbladis]: https://github.com/adisbladis [adisbladis]: https://github.com/adisbladis