From 49ae891e54f86ea43a4ccfb0e6223ff2a71cd5b2 Mon Sep 17 00:00:00 2001 From: Irene Knapp Date: Sat, 10 Oct 2026 12:11:21 -0700 Subject: tweak README to acknowledge that the hex dump works now :) oops - that wording slipped through until now. go figure. Force-Push: yeah Change-Id: I95849433d07049b28d72c5e6fc615f9a281317c1 --- README.txt | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/README.txt b/README.txt index 208bbfc..37c81f2 100644 --- a/README.txt +++ b/README.txt @@ -339,23 +339,23 @@ concepts. ~~ Hexing Evocation for Distribution ~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - The long-term strategy for Evocation's binary bootstrapping is not yet -ready, but it's described here anyway because this is where the explanation -should eventually go, and it's easier to write about the pieces as they're -created. + In order to make sure Evocation has a clear provenance, its binary is +bootstrapped via a commented hex dump, which you've already seen if you +followed the directions in "Building", above, to set up your local copy. The binary bootstrapping strategy rests on something called the "hex transform", the most complex of the transformations provided as part of Evocation's transformation facility in compilation/transform.e. The hex transform has the task of transforming an entire compilation process, which -would otherwise produce an executable binary, and instead output a commented -hex dump of that binary which describes its internals and their purpose, byte -by byte, in sufficient detail to allow a human reader to audit their -correctness. It will do this by passing through comments and call-stack -information from the compilation process to the resulting output. +would otherwise produce an executable binary, to make it instead output a +commented hex dump of that binary which describes its internals and their +purpose, byte by byte, in sufficient detail to allow a human reader to audit +their correctness. It does this by instrumenting the compilation process to +gather information from various stages, and synthesize it into the form it's +seen in the output. In order to turn this commented hex dump into a binary, there is a tiny -program called "hex" which handles comments in Evocations ~ syntax, and +program called "hex" which skips comments in Evocation's ~ syntax, and converts ASCII hexadecimal to raw binary. This program is in hex.e and is written in Evocation-assembly. When compiled it is only 480 bytes, which is small enough to fully audit in its raw, binary form. This is slightly larger -- cgit 1.4.1