From 1a6ea7ae691602018f4ad763a452f2db0c61144c Mon Sep 17 00:00:00 2001 From: Joseph Ferano Date: Mon, 14 Sep 2026 07:38:23 +0700 Subject: [PATCH] Citations follow the move into docs/ --- NEXT.md | 4 ++-- plan.org | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/NEXT.md b/NEXT.md index 7381f57..4b86eeb 100644 --- a/NEXT.md +++ b/NEXT.md @@ -24,8 +24,8 @@ as a snapshot: it pins `dev-loop` at `e725a5a`, and since then the arithmetic-co redefinition emitter, the aggregate case across the reload boundary, the two unreached guards, DWARF for `--x86`, the cost measurements, the last two raylib ports and the `dune test` noise have all landed. The x86 survey it quotes at 97 now reports **103 MATCH, 0 DIFFER, 0 refused by name, 38 skipped**, and of the -seven remaining items it lists from `HANDOFF-x86-rt.md`, items 1, 3, 4, 5, 6 and 7 are done — each has a -`HANDOFF-x86-*.md` of its own. +seven remaining items it lists from `docs/handoffs/HANDOFF-x86-rt.md`, items 1, 3, 4, 5, 6 and 7 are done — +each has a `docs/handoffs/HANDOFF-x86-*.md` of its own. **Branch `dev-loop` at `e725a5a`, working tree clean, `dune test` green, every lane merged.** Nothing is running and nothing is half-built. diff --git a/plan.org b/plan.org index 1b21c96..17d9c0c 100644 --- a/plan.org +++ b/plan.org @@ -481,7 +481,7 @@ is Clojure's ~ns~ form: no path that must mirror the directory, no * Compilation *One evaluator and three paths.* The split is not dev-vs-release; it is /does this code have a frame budget/. There is no interpreter: open decision #7 -is settled the other way from how this section was first written, and BUILT.md's +is settled the other way from how this section was first written, and docs/BUILT.md's "Why there is no interpreter" carries the reasoning. Compiling is the only way a form is ever run, so there is no second evaluator that could disagree with the first about what a program means. @@ -621,7 +621,7 @@ debugger that wanted it is cut (see Tooling); and milestone 3 did not need it as an oracle either, because the acceptance table is hand-written and the table /is/ the oracle. What is bought by dropping it is the standing obligation: two evaluators must agree on observable behaviour forever, and every divergence is a -bug that reproduces in only one of them. BUILT.md's "Why there is no interpreter" +bug that reproduces in only one of them. docs/BUILT.md's "Why there is no interpreter" records the decision; ~lib/expand.ml~ states it at the top of the file, because macros are where the absence stopped being free — a macro has to run at compile time and there is nothing to interpret it with, so the compiler compiles it into @@ -891,7 +891,7 @@ marked. migration", or "accepted and the old code keeps running". 7. Does the interpreter survive milestone 3, or is the compiled path the only backend? /Settled: the compiled path is the only one, and there is no - interpreter./ See Compilation, and BUILT.md's "Why there is no interpreter". + interpreter./ See Compilation, and docs/BUILT.md's "Why there is no interpreter". 8. ~(Option a)~ /settled:/ an ordinary stdlib union with ~Some~/~None~; the compiler niche-optimises ~(Option (Ptr T))~ to a nullable pointer. The CL-vs-Clojure truthiness question is moot under static typing.