From 10c278d073bd8bcd21147e2ffaccc2f1ded33cf4 Mon Sep 17 00:00:00 2001 From: giles Date: Fri, 1 May 2026 21:00:42 +0000 Subject: [PATCH] =?UTF-8?q?plan:=20tick=20Phase=2022=20CL=20=E2=80=94=20ru?= =?UTF-8?q?ntime.sx=20complete,=2068/68=20pass?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- plans/agent-briefings/primitives-loop.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plans/agent-briefings/primitives-loop.md b/plans/agent-briefings/primitives-loop.md index 680c5099..7bcf32f4 100644 --- a/plans/agent-briefings/primitives-loop.md +++ b/plans/agent-briefings/primitives-loop.md @@ -672,9 +672,10 @@ Brief each language's loop agent (or do inline) after rebasing their branch onto Added `## SX primitive baseline` section to plans/common-lisp-on-sx.md, plans/apl-on-sx.md, plans/ruby-on-sx.md, plans/tcl-on-sx.md. f43659ce. -- [ ] Common Lisp: char type (`#\a`); string ports + `read`/`write` for reader/printer; +- [x] Common Lisp: char type (`#\a`); string ports + `read`/`write` for reader/printer; gensym for macros; rational numbers for CL ratios; multiple values; sets for CL set ops; `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; regexp for Lua pattern matching; trig from math completeness; bytevectors for binary I/O. @@ -720,6 +721,7 @@ Brief each language's loop agent (or do inline) after rebasing their branch onto _Newest first._ +- 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. - 2026-04-26: Phase 7 complete — bitwise-and/or/xor/not + arithmetic-shift + bit-count + integer-length. OCaml: land/lor/lxor/lnot/lsl/asr + Kernighan popcount + lsr loop for integer-length. JS: bitwise ops + Hamming weight + Math.clz32. 26 tests, 158 assertions, all pass. a8a79dc9.