Star forth v4.0.0 #3
@@ -193,6 +193,45 @@ fabric"). v3's code for each is the reference: `rolling_window_of_truth.c`,
|
||||
- **K.** Nothing computes K on v4. It is a figure over heat; it waits for A
|
||||
and C.
|
||||
|
||||
### 2.7 Ruling (Captain Bob, 2026-10-05)
|
||||
|
||||
> One more time: v4 = v3 functionally. We will use [heat accumulation] on
|
||||
> 32 opcodes rather than words. Before, a word was our smallest unit; now
|
||||
> it is the opcode.
|
||||
|
||||
This settles section 2.4:
|
||||
|
||||
- **A.** Heat is kept per opcode: 32 accumulators in the node. Not in a
|
||||
word's dictionary entry, and not per call target.
|
||||
- **B.** The unit is the opcode. Whether a word is called or compiled in
|
||||
line makes no difference to what is counted. `call` is one of the 32 and
|
||||
is counted as itself.
|
||||
- **C.** v4 = v3 functionally, so every loop v3 runs before its prompt
|
||||
runs on v4, over opcodes where v3's runs over words.
|
||||
|
||||
What follows from it, and is not yet done:
|
||||
|
||||
- The per-call-target array (`v4/src/heat.c`, `call[]`, the freeze mask,
|
||||
`v4_heat_on_call`) has no place and is to be removed, with `HEAT-CALL`
|
||||
in `DECOMPOSITION.md` sections 1.4, 5.19, 5.23 and 7. D-6 is answered:
|
||||
per-opcode.
|
||||
- Sections 5.21 and 5.22 of `DECOMPOSITION.md` retire pipelining and the
|
||||
hot-words cache. Under C they are not retired.
|
||||
- Decomposition no longer waits on this: moving a word from assembler to a
|
||||
colon definition changes which opcodes run, and those are counted
|
||||
wherever the code is.
|
||||
|
||||
Still open, for the words v3 keys by word and v4 must key by something:
|
||||
|
||||
- **ACL.** Access control is per word, and v3 works a word's TTL out from
|
||||
that word's heat (`ACL-TTL-COMPUTE`). A v4 word has no heat of its own.
|
||||
- **Freeze and pin.** v3 freezes or pins a word's heat (`FREEZE-WORD`,
|
||||
`WORD_PINNED`). In v4 what is frozen is an opcode, or nothing.
|
||||
- **Hot-words cache.** v3 promotes a hot word so that it is found faster.
|
||||
A v4 opcode is not looked up.
|
||||
- **Heartbeat.** What ticks it on a node (v3: the kernel's timer
|
||||
interrupt).
|
||||
|
||||
## 3. Stand-ins in v4, as found 2026-10-05
|
||||
|
||||
Each describes itself as one. None has been changed.
|
||||
|
||||
Reference in New Issue
Block a user