From 90bc1208d9563c7df64efc872a8d617db546a15f Mon Sep 17 00:00:00 2001 From: giles Date: Fri, 1 May 2026 23:31:08 +0000 Subject: [PATCH] =?UTF-8?q?plan:=20tick=20Phase=2022=20Forth=20=E2=80=94?= =?UTF-8?q?=20all=20Phase=2022=20items=20complete?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plans/agent-briefings/primitives-loop.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plans/agent-briefings/primitives-loop.md b/plans/agent-briefings/primitives-loop.md index c6fb5cd9..c2fa7d23 100644 --- a/plans/agent-briefings/primitives-loop.md +++ b/plans/agent-briefings/primitives-loop.md @@ -712,8 +712,9 @@ Brief each language's loop agent (or do inline) after rebasing their branch onto for Tcl coroutines; regexp for Tcl `regexp`; format for Tcl `format`. lib/tcl/runtime.sx (37 forms) + tests/runtime.sx (56/56 pass). COMMIT. -- [ ] Forth: bitwise ops (core); string-buffer for word-definition accumulation; bytevectors +- [x] Forth: bitwise ops (core); string-buffer for word-definition accumulation; bytevectors for Forth's raw memory model. + lib/forth/runtime.sx (36 forms) + tests/runtime.sx (64/64 pass). COMMIT. --- @@ -731,6 +732,7 @@ Brief each language's loop agent (or do inline) after rebasing their branch onto _Newest first._ +- 2026-05-01: Phase 22 Forth done — runtime.sx (36 forms): bitwise (AND/OR/XOR/INVERT/LSHIFT/RSHIFT/2*/2//bit-count/integer-length/within + arithmetic helpers), string-buffer (emit!/type!/value/length/clear!/emit-int!), memory (cfetch/cstore/fetch/store/move!/fill!/erase!/mem->list). 64/64 tests. 8019e572. - 2026-05-01: Phase 22 Tcl done — runtime.sx (37 forms): string-buffer (append accumulator), channel (read/write ports with gets/read/puts), regexp (make-regexp wrappers), format (%s/%d/%f/%x/%o/%% manual char scan), coroutine (call/cc, top-level helper pattern). 56/56 tests. 3e07727d. - 2026-05-01: Phase 22 Ruby done — runtime.sx (61 forms): Hash (list-of-pairs dict-backed), Set (make-set, (set item) order), Regexp (make-regexp wrappers), StringIO (write buf + rewind/char read), Bytevectors (thin wrappers), Fiber (call/cc; letrec JIT workaround: use top-level helpers). 76/76 tests. 182e6f63.