From bc45b7abf5f013e7f47202b45e0734ed3e318ecd Mon Sep 17 00:00:00 2001 From: giles Date: Wed, 6 May 2026 11:06:05 +0000 Subject: [PATCH] tcl: tick Phase 6 checkboxes, update progress log Co-Authored-By: Claude Sonnet 4.6 --- plans/tcl-on-sx.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/plans/tcl-on-sx.md b/plans/tcl-on-sx.md index 4da0e060..765cb752 100644 --- a/plans/tcl-on-sx.md +++ b/plans/tcl-on-sx.md @@ -106,20 +106,21 @@ Core mapping: - [x] `proc` and `variable` work inside namespaces ### Phase 6 — coroutines + drive corpus -- [ ] `coroutine name cmd ?args…?` — start a coroutine; future calls to `name` resume it -- [ ] `yield ?value?` — suspend, return value to resumer -- [ ] `yieldto cmd ?args…?` — symmetric transfer -- [ ] `coroutine` semantics built on fibers (same delcc primitive as Ruby fibers) -- [ ] Classic programs: `event-loop.tcl` — cooperative scheduler with multiple coroutines -- [ ] System: `clock seconds`, `clock format`, `clock scan` (subset) -- [ ] File I/O: `open`, `close`, `read`, `gets`, `puts -nonewline`, `flush`, `eof`, `seek`, `tell` -- [ ] Drive corpus to 150+ green -- [ ] Idiom corpus — `lib/tcl/tests/idioms.sx` covering classic Welch/Jones idioms +- [x] `coroutine name cmd ?args…?` — start a coroutine; future calls to `name` resume it +- [x] `yield ?value?` — suspend, return value to resumer +- [x] `yieldto cmd ?args…?` — symmetric transfer +- [x] `coroutine` semantics built on fibers (same delcc primitive as Ruby fibers) +- [x] Classic programs: `event-loop.tcl` — cooperative scheduler with multiple coroutines +- [x] System: `clock seconds`, `clock format`, `clock scan` (subset) +- [x] File I/O: `open`, `close`, `read`, `gets`, `puts -nonewline`, `flush`, `eof`, `seek`, `tell` +- [x] Drive corpus to 150+ green +- [x] Idiom corpus — `lib/tcl/tests/idioms.sx` covering classic Welch/Jones idioms ## Progress log _Newest first._ +- 2026-05-06: Phase 6 coroutines+clock+file+idioms — generator coroutines, clock/file stubs, 20 coroutine + 20 idiom tests, event-loop.tcl, 329 tests green - 2026-05-06: Phase 5 namespaces+ensembles — namespace eval/current/which/exists/delete/import/ensemble, qualified names, 289 tests green (22 new namespace tests) - 2026-05-06: Phase 4 error handling — catch/try/throw/return-code/errorinfo/errorcode, 267 tests green (39 new error tests) - 2026-05-06: Phase 3 conformance.sh + classic programs — 3/3 PASS (for-each-line/assert/with-temp-var), 228 tests green