diff --git a/plans/tcl-on-sx.md b/plans/tcl-on-sx.md index fad036d5..4da0e060 100644 --- a/plans/tcl-on-sx.md +++ b/plans/tcl-on-sx.md @@ -99,11 +99,11 @@ Core mapping: - [x] 30+ tests in `lib/tcl/tests/error.sx` ### Phase 5 — namespaces + ensembles -- [ ] `namespace eval ns body`, `namespace current`, `namespace which`, `namespace import`, `namespace export`, `namespace forget`, `namespace delete` -- [ ] Qualified names: `::ns::cmd`, `::ns::var` -- [ ] Ensembles: `namespace ensemble create -map { sub1 cmd1 sub2 cmd2 }` -- [ ] `namespace path` for resolution chain -- [ ] `proc` and `variable` work inside namespaces +- [x] `namespace eval ns body`, `namespace current`, `namespace which`, `namespace import`, `namespace export`, `namespace forget`, `namespace delete` +- [x] Qualified names: `::ns::cmd`, `::ns::var` +- [x] Ensembles: `namespace ensemble create -map { sub1 cmd1 sub2 cmd2 }` +- [x] `namespace path` for resolution chain +- [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 @@ -120,6 +120,7 @@ Core mapping: _Newest first._ +- 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 - 2026-05-06: Phase 3 proc+uplevel+upvar+info+global — frame stack, isolated proc scope, alias-following var access, 225 tests green (67 parse + 158 eval)