about summary refs log tree commit diff
path: root/web/tvl
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2022-09-13T15·35+0300
committertazjin <tazjin@tvl.su>2022-09-14T10·27+0000
commite5a95816829966901c0f0f1480a509a833356bce (patch)
tree895fd3dae3df307437c89fe37c7dc674eeaf8628 /web/tvl
parent162e21f2bb326960770ed55ee44170b924c72fd8 (diff)
docs(web/tvl): rewrite blog post to be more "milestoney" r/4850
Suggested by zimbatm.

Change-Id: I5979cf820943dd44c8a759f226b340c37f9b0446
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6572
Tested-by: BuildkiteCI
Reviewed-by: eta <tvl@eta.st>
Diffstat (limited to 'web/tvl')
-rw-r--r--web/tvl/blog/tvix-status-202209.md47
1 files changed, 27 insertions, 20 deletions
diff --git a/web/tvl/blog/tvix-status-202209.md b/web/tvl/blog/tvix-status-202209.md
index 8bf731f25c..f617b5d1b4 100644
--- a/web/tvl/blog/tvix-status-202209.md
+++ b/web/tvl/blog/tvix-status-202209.md
@@ -28,24 +28,10 @@ and [sterni][].
 
 ### So, what's working now?
 
-The answer is *most things*! However, there are some unfinished and
-important feature areas:
+The answer is *most things*! You can enter many Nix language
+expressions in [Tvixbolt][] and observe how they are evaluated.
 
-1. The majority of Nix's `builtins` are not yet implemented (including
-   fundamental ones such as `import` and `derivation`).
-
-2. Recursive attribute sets (`rec`) are not yet implemented. This is
-   actually not because of the recursion in itself, but because of the
-   handling of nested keys (such as `a.b`), for which we are designing
-   a more efficient solution than what is currently in place.
-
-In both cases we have mostly figured out how to do the remaining work
-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
-without Javascript [here][src-noscript]).
-
-At the same time, we've already implemented some basics that are
-hopefully going to have a huge impact further down, such as:
+There's a lot of interesting stuff going on under-the-hood, notably:
 
 * The Tvix compiler is built to be able to emit warnings & errors
   without failing early, as well as retaining as much source
@@ -66,7 +52,13 @@ hopefully going to have a huge impact further down, such as:
   differently based on whether it is empty, a `name/value` pair or a
   larger set.
 
-### How does this all work?
+We've also (constrained by the available features) run some initial
+benchmarks against C++ Nix, and in most cases Tvix evaluation is an
+order of magnitude faster. However, these benchmarks are in no way
+indicative of real-life performance when evaluating something like
+`nixpkgs` yet, so stay tuned for more information on performance.
+
+### How does it all work?
 
 Tvix's evaluator is implemented using a custom abstract machine with a
 very Nix-specific instruction set, as well as a compiler that
@@ -89,8 +81,23 @@ towards).
 
 ### What's next for tvix-eval?
 
-Apart from the missing language features outlined above, the next
-steps are:
+Despite everything, there are some unfinished and important feature
+areas:
+
+1. The majority of Nix's `builtins` are not yet implemented (including
+   fundamental ones such as `import` and `derivation`).
+
+2. Recursive attribute sets (`rec`) are not yet implemented. This is
+   actually not because of the recursion in itself, but because of the
+   handling of nested keys (such as `a.b`), for which we are designing
+   a more efficient solution than what is currently in place.
+
+In both cases we have mostly figured out how to do the remaining work
+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
+without Javascript [here][src-noscript]).
+
+Apart from that, the next steps are:
 
 * Comprehensive benchmarking. We are standing up an infrastructure for
   continuous benchmarking to measure the impact of changes, and to be