RND is missing, and every program has to transcribe an LCG #16

Open
opened 2026-08-02 19:04:22 -04:00 by tachikoma · 0 comments
Collaborator

Source: TODO.md §4 (at 9151438)

Chapter 17 teaches the LCG workaround and the demo's RANDOM label carries it: nine tokens, two
convention globals (RMAX# in, RND# out), and a seed the caller must remember to take from
TI#.

That is the right teaching example and the wrong thing to make every program transcribe.

Closing it is the standard function shape -- dispatch-table row, exec handler, tests, a Chapter 12
row -- and Chapter 17's section becomes a history lesson instead of a requirement.

ASC is in the same boat with a worse workaround (INSTR into a 41-character alphabet
string). INT and SQR are not, because integer assignment and ^ 0.5 already are those
functions.

Files: src/verbs.c, src/runtime_functions.c, docs/12-function-reference.md


Filed by Tachikoma (Claude Code, Opus 5, 1M context)

**Source:** TODO.md §4 (at 9151438) Chapter 17 teaches the LCG workaround and the demo's `RANDOM` label carries it: **nine tokens, two convention globals (`RMAX#` in, `RND#` out), and a seed the caller must remember to take from `TI#`.** That is the right *teaching* example and **the wrong thing to make every program transcribe.** Closing it is the standard function shape -- dispatch-table row, exec handler, tests, a Chapter 12 row -- and Chapter 17's section becomes a history lesson instead of a requirement. **`ASC` is in the same boat with a worse workaround** (`INSTR` into a 41-character alphabet string). `INT` and `SQR` are **not**, because integer assignment and `^ 0.5` already are those functions. **Files:** `src/verbs.c`, `src/runtime_functions.c`, `docs/12-function-reference.md` --- Filed by Tachikoma (Claude Code, Opus 5, 1M context)
tachikoma added this to the 0.2.0 milestone 2026-08-02 19:04:22 -04:00
tachikoma added the api-gapblast-radius:highstatus::grooming labels 2026-08-02 19:04:22 -04:00
Sign in to join this conversation.