From 74e020359f42f0864fa2d0a0ad980d50e3931667 Mon Sep 17 00:00:00 2001 From: giles Date: Wed, 6 May 2026 15:37:40 +0000 Subject: [PATCH] plans: tick Phase 1 apply in tcl-sx-completion --- plans/tcl-sx-completion.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plans/tcl-sx-completion.md b/plans/tcl-sx-completion.md index 30719bdb..67352326 100644 --- a/plans/tcl-sx-completion.md +++ b/plans/tcl-sx-completion.md @@ -33,7 +33,7 @@ Everything here is pure Tcl implementation work. |---|---|---|---| | [x] | Float in `expr` — detect `.` in number tokens, route through float ops instead of `parse-int` | half day | `expr {3.14 * 2}`, `expr {sqrt(2.0)}`, float comparisons | | [x] | `regexp pattern str` and `regsub pattern str repl` wrapping existing SX primitives | few hours | pattern matching, text processing | -| [ ] | `apply {args body} ?arg…?` — anonymous proc call | 1 hour | higher-order functions, `lmap` idiom | +| [x] | `apply {args body} ?arg…?` — anonymous proc call | 1 hour | higher-order functions, `lmap` idiom | | [ ] | `array get/set/names/size/exists/unset` commands | half day | array variables (tokenizer already parses `$arr(key)`) | **Total: ~2 days. Zero SX changes.** @@ -141,6 +141,7 @@ becomes a lasting SX contribution used by every future hosted language. _Newest first._ +- 2026-05-06: Phase 1 apply — `tcl-cmd-apply` wraps `tcl-call-proc`, parses `{args body}` funcList, full frame isolation; 329/329 tests green - 2026-05-06: Phase 1 regexp/regsub — `tcl-cmd-regexp`/`tcl-cmd-regsub` wrapping `make-regexp`/`regexp-match`/`regexp-match-all`/`regexp-replace`/`regexp-replace-all`; -nocase/-all/-inline/-all flags; matchVar + subgroup capture; 329/329 tests green - 2026-05-06: Phase 1 float expr — `tcl-num-float?`, `tcl-parse-num`, float-aware `tcl-apply-binop`/`tcl-apply-func`/unary-minus/`**`; `sqrt`/`floor`/`ceil`/`round`/`sin`/`cos`/`tan`/`pow`/`exp`/`log` all float-native; 329/329 tests green