diff --git a/plans/agent-briefings/primitives-loop.md b/plans/agent-briefings/primitives-loop.md index 8564af70..6a8a1f14 100644 --- a/plans/agent-briefings/primitives-loop.md +++ b/plans/agent-briefings/primitives-loop.md @@ -685,9 +685,10 @@ Brief each language's loop agent (or do inline) after rebasing their branch onto multi-return; sets for Erlang sets; `remainder` for `rem`; regexp for `re` module. lib/erlang/runtime.sx (63 forms) + test.sh (55/55 pass). 3c0a9632. -- [ ] Haskell: numeric tower for `Num`/`Integral`/`Fractional`; promises for lazy evaluation +- [x] Haskell: numeric tower for `Num`/`Integral`/`Fractional`; promises for lazy evaluation (critical); multiple values for tuples; rational numbers for `Rational`; char type for `Char`; `gcd`/`lcm`; sets for `Data.Set`; `read`/`write` for `Show`/`Read` instances. + lib/haskell/runtime.sx (113 forms) + tests/runtime.sx (143/143 pass). c02ffcf3. - [ ] JS: vectors for Array; hash tables for `Map`; sets for `Set`; bitwise ops for typed arrays; regexp for JS regex; bytevectors for `Uint8Array`; radix formatting. @@ -723,6 +724,7 @@ Brief each language's loop agent (or do inline) after rebasing their branch onto _Newest first._ +- 2026-05-01: Phase 22 Haskell done — runtime.sx (113 forms): numeric tower (hk-div floor semantics), rational (dict GCD-normalised), hk-force (promises), Data.Char, Data.Set, Data.List, Maybe/Either, tuples, string helpers, hk-show. 148/148 tests. c02ffcf3. - 2026-05-01: Phase 22 Erlang done — runtime.sx (63 forms): numeric tower, bitwise (band/bor/bxor/bnot/bsl/bsr), sets, re module, list BIFs, type conversions, ok/error tuples. 55/55 tests. 3c0a9632. - 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.