From 884721783ad985c41f16d3f5aa6b4d04216ca03a Mon Sep 17 00:00:00 2001 From: rajames Date: Thu, 15 Oct 2026 05:50:18 -0400 Subject: [PATCH] docs(v4.0.0): MACHINE.md -- forth79.4th names all 130 words; init.4th is the system's init Co-Authored-By: Claude Opus 5.5 --- docs/v4.0.0/MACHINE.md | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/docs/v4.0.0/MACHINE.md b/docs/v4.0.0/MACHINE.md index 346b05e7..9543e472 100644 --- a/docs/v4.0.0/MACHINE.md +++ b/docs/v4.0.0/MACHINE.md @@ -65,8 +65,8 @@ width (32 and 64 bits). 4. **POST**, with the existing test DSL: the case table `v4/system/post_cases.c` (name, lines, expected error, stack and output) and its runner `v4/system/post.c`. Seal before it, `COLD` after, as now. -5. **`init.4th`.** From here the boot is `init.4th` only: what must follow `COLD`, such as - setting `STARSHIPOS` as the search vocabulary. No boot policy is written in C. +5. **`init.4th`**, the system's init (section 7, item 6). From here the boot is `init.4th` + only. No boot policy is written in C. 6. `ok>`. The **loader** in steps 2 and 3 is whoever owns the machine: the kernel on bare metal, the @@ -132,12 +132,9 @@ Each step is accepted as `.claude/CLAUDE.md` says: stays, as the reference to compare against and for `mkpost.py`. 4. **Everything that can load before POST does.** That is the system. `forth79.4th`, `starforth.4th` and every other system capsule load before POST. POST tests the system. - -## 8. Still open - -1. **Where the standard's names live.** "100 percent" in `forth79.4th`: does it name all 130 - Required words, including the ones that are single opcodes (`DUP`, `+`, `@`)? Proposed: yes. - The `.f18` primitives carry their own names, and `forth79.4th` gives every standard word its - standard name and behaviour. The `.f18` layer then holds no FORTH-79 names at all. -2. **What `init.4th` does after POST**, now that the system loads before it: what follows - `COLD`, such as making `STARSHIPOS` the search vocabulary and starting Hera's births. +5. **`forth79.4th` names all 130 Required words**, the single-opcode ones (`DUP`, `+`, `@`) + included. The `.f18` primitives carry their own names; the `.f18` layer holds no FORTH-79 + names at all. +6. **`init.4th` is the system's init**, as `init` and its rc files are on a Unix system: it + initializes the system. Whatever it says runs after POST, and what it says is the system's + configuration, not part of this design.