Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
| Comment: | Merge S.8a: a fixed arena for the program tree
Reviewed against docs/tasks/S.8a.md; verdict merge. Spec 5 examples, 0 failures; Arena(256) is 3,076 bytes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMXZyLk8eDgCjvQ9hX |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
d4e9600a596f6976b893657abf6976e4 |
| User & Date: | x86-1-glint 2026-11-09 14:41:51.692 |
|
2026-11-09
| ||
| 14:52 |
Merge S.8b: QEMU's microbit machine in Glint's qemu-system-aarch64
Reviewed against docs/tasks/S.8b.md; verdict merge. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMXZyLk8eDgCjvQ9hX check-in: afb4181acf user: x86-1-glint tags: trunk | |
| 14:43 | Create new branch named "slice/S.8b" check-in: 35204011a6 user: x86-1-glint tags: slice/S.8b | |
| 14:41 |
Merge S.8a: a fixed arena for the program tree
Reviewed against docs/tasks/S.8a.md; verdict merge. Spec 5 examples, 0 failures; Arena(256) is 3,076 bytes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMXZyLk8eDgCjvQ9hX check-in: d4e9600a59 user: x86-1-glint tags: trunk | |
| 14:41 |
S.8a: a fixed arena for the program tree
Claim: src/glint/shell/tree.cr holds S.8's program tree in Arena(N), a caller-owned struct of 12-byte nodes with no heap and no start-up initialiser. Nine kinds (INT, LOCAL, ASSIGN, ADD, SUB, LT, IF, WHILE, SEQ). add returns NONE and writes nothing when the arena is full or a child is not an earlier node, so a tree can't loop. Passage: S.8's finding that the heap's 4 KiB pages are a quarter of the Zepto's RAM each, so the tree needs a fixed arena with a stated node limit. Demonstration: crystal spec spec/shell/tree_spec.cr: 5 examples, 0 failures. sizeof(Arena(256)) is 3,076 bytes: 256 nodes in 3 KiB of the 16. crystal tool format --check passes. Codex wrote both files from docs/tasks/S.8a.md (codex exec in a separate checkout); the reviewer read them against the task and made no changes. Nothing in the image uses it yet. Size: 103 lines in tree.cr, spec 99. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMXZyLk8eDgCjvQ9hX Leaf check-in: bd2f4cf4bb user: x86-1-glint tags: slice/S.8a | |
| 14:41 |
Tasks S.8b and S.8c: a Cortex-M0 machine in Glint's QEMU, and emit for the first nodes
Claim: docs/tasks/S.8b.md adds QEMU's microbit machine (nRF51, Cortex-M0) to Glint's qemu-system-aarch64, which S.2 needs as well. docs/tasks/S.8c.md has emit write ARMv6-M Thumb code for S.8a's nodes, keeping Crystal's meaning (overflow raises; Bool and nil values refused), checked by running ten programs on that machine. The plan's S.8 says these pieces start now. Passage: docs/WORKFLOW.md, Handing out a slice, step 1; The One Place's relay (glint 210573ff9d) that the maintainer wants S.8. Demonstration: S.8b's QEMU facts were read in QEMU 11.1.2's source (hw/arm/Kconfig 680, target/arm/Kconfig, nrf51_soc.c, microbit.c, m_helper.c 2375, arm-compat-semi.c). S.8c's encoder bytes are from the ARMv6-M manual and not yet disassembled, as the task says. Each expected output was computed (499500 = 0x00079f2c). Size: two new files, 7 lines in the plan. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMXZyLk8eDgCjvQ9hX check-in: 2f85cb8bd3 user: x86-1-glint tags: trunk | |