about summary refs log tree commit diff
path: root/README.txt
diff options
context:
space:
mode:
Diffstat (limited to 'README.txt')
-rw-r--r--README.txt28
1 files changed, 17 insertions, 11 deletions
diff --git a/README.txt b/README.txt
index a6690e4..e3e12c1 100644
--- a/README.txt
+++ b/README.txt
@@ -193,22 +193,28 @@ than necessary; many of those bytes are used for error message strings, on the
 principle that it's very important that it be easy to distinguish a successful
 invocation of "hex" from a failed one.
 
-  When the hex transform is fully working, a copy of the compiled "hex" will
-be checked into source control so that it can serve as the root of trust for
-all Evocation builds. Meanwhile, you can compile it as follows:
+  Although the hex transform is not yet fully the compiled "hex" has proven
+quite stable, and the hex transform does work on it. So, a copy of the
+compiled "hex" is checked into source control so that it can serve as a root
+of trust for future Evocation builds. For ease of auditing, a commented hex
+dump version of this binary, produced via the hex transform, is also checked
+in, as "hex.hex" (We heard you liked metacircularity, so we put some
+metacircularity in your metacircularity so you can be metacircular while
+you're metacircular.)
+
+  If you need to compile "hex", you can do so as follows:
 
   $ cat labels.e elf.e hex.e | ./evoke > hex
   $ chmod 755 hex
 
-  Although the hex transform doesn't work, if you intend to play around with
-this you may wish to know how to attempt to run it on things. You can run it
-on hex.e as follows. (We heard you liked metacircularity, so we put some
-metacircularity in your metacircularity so you can be metacircular while
-you're metacircular.)
+  To produce the hex-dump version of it, do:
 
   $ (cat labels.e elf.e transform.e; echo 's" xyzzy" allocate-string dup 262144 read-to-buffer'; cat core.e linux.e output.e amd64.e execution-support.e log-load.e dynamic.e input.e interpret.e flow-control.e linux-dynamic.e labels.e elf.e hex.e; echo 'xyzzy s" hex-source" variable 1024 1024 * allocate s" hex-binary" variable 1024 1024 * allocate s" hex-metadata" variable hex-metadata hex-binary dup hex-source 5 roll hex-transform bye ' ) | ./evoke > hex.hex
 
-  There is not yet a recommended way to run the hex transform on evoke.e, but
-when there is it will look like appending most of the Evocation-in-Evocation
-build steps to the hex.hex build steps, swapping them in where hex.e is now.
+  Although the hex transform doesn't yet work on Forth programs (only programs
+written in Evocation-assembly), if you intend to play around with this you may
+wish to know how to attempt to run it on things. There is not yet a
+recommended way to run the hex transform on evoke.e, but when there is it will
+look like appending most of the Evocation-in-Evocation build steps to the
+hex.hex build steps, swapping them in where hex.e is now.