diff --git a/plans/agent-briefings/primitives-loop.md b/plans/agent-briefings/primitives-loop.md index 7bcf32f4..3bf73768 100644 --- a/plans/agent-briefings/primitives-loop.md +++ b/plans/agent-briefings/primitives-loop.md @@ -677,8 +677,9 @@ Brief each language's loop agent (or do inline) after rebasing their branch onto `modulo`/`remainder`/`quotient`; radix formatting; `format` for `cl:format`. lib/common-lisp/runtime.sx (103 forms) + test.sh (68/68 pass). 1ad8e74a. -- [ ] Lua: vectors for arrays; hash tables for Lua tables; `delay`/`force` for lazy iterators; +- [x] Lua: vectors for arrays; hash tables for Lua tables; `delay`/`force` for lazy iterators; regexp for Lua pattern matching; trig from math completeness; bytevectors for binary I/O. + math/string/table stdlib tables + lua-force. 185/185 pass. ec3512d6. - [ ] Erlang: numeric tower for float/int; bitwise ops for bitmatch; multiple values for multi-return; sets for Erlang sets; `remainder` for `rem`; regexp for `re` module. @@ -721,6 +722,7 @@ Brief each language's loop agent (or do inline) after rebasing their branch onto _Newest first._ +- 2026-05-01: Phase 22 Lua done — math/string/table stdlib tables + lua-force in lib/lua/runtime.sx. 185/185 tests (28 new). ec3512d6. - 2026-05-01: Phase 22 CL done — runtime.sx (103 forms): type preds, arithmetic, chars, format, gensym, values, sets, radix, list utils. cl-empty? guards nil/() split. 68/68 tests. 1ad8e74a. - 2026-05-01: Phase 22 step 1 — SX primitive baseline added to CL/APL/Ruby/Tcl plans. f43659ce. - 2026-05-01: Phase 21 complete — format (~a ~s ~d ~x ~o ~b ~f ~% ~& ~~ ~t) as pure SX in spec/stdlib.sx. Fixed lib/r7rs.sx number->string to support optional radix; added format-decimal OCaml primitive. 28/28 tests on both JS and OCaml. 4d7b3e29.