diff --git a/plans/tcl-on-sx.md b/plans/tcl-on-sx.md index d7e87571..78805dc3 100644 --- a/plans/tcl-on-sx.md +++ b/plans/tcl-on-sx.md @@ -63,8 +63,8 @@ Core mapping: 10. Order of substitution is left-to-right, single-pass 11. Substitutions don't recurse — substituted text is not re-parsed 12. The result of any substitution is the value, not a new script -- [ ] Parser: script = list of commands; command = list of words; word = literal string + list of substitutions -- [ ] Unit tests in `lib/tcl/tests/parse.sx` +- [x] Parser: script = list of commands; command = list of words; word = literal string + list of substitutions +- [x] Unit tests in `lib/tcl/tests/parse.sx` ### Phase 2 — sequential eval + core commands - [ ] `tcl-eval-script`: walk command list, dispatch each first-word into command table @@ -120,6 +120,7 @@ Core mapping: _Newest first._ +- 2026-04-25: Phase 1 parser — `lib/tcl/parser.sx`, word-simple?/word-literal helpers, 67 tests green, commit 6ee05259 - 2026-04-25: Phase 1 tokenizer (Dodekalogue) — `lib/tcl/tokenizer.sx`, 52 tests green, commit 666e29d5 ## Blockers