diff --git a/plans/lib-guest.md b/plans/lib-guest.md index dcff53e2..bb4db02a 100644 --- a/plans/lib-guest.md +++ b/plans/lib-guest.md @@ -155,7 +155,7 @@ Extract from `haskell/infer.sx`. Algorithm W or J, generalisation, instantiation | 1 — conformance.sx (prolog + haskell) | [done] | 58dcff26 | Prolog 590/590 (matches baseline). Haskell 156/156 — old script was broken (0/18 was an artefact of a never-matching grep), driver reveals true counts; baseline updated. | | 2 — prefix.sx (common-lisp + lua) | [partial — pending lua] | 2ef773a3 | common-lisp/runtime.sx ported (47 aliases collapsed into 13 prefix-rename calls); 518/518 vs 309/309 baseline (improvement, no regression). lua/runtime.sx has no pure same-name aliases — every lua- definition wraps custom logic; second consumer pending. | | 3 — lex.sx (lua + tcl) | [done] | 559b0df9 | lex.sx exports nil-safe char-class predicates + token record. lua/tokenizer.sx (7 preds) and tcl/tokenizer.sx (5 preds) collapsed into prefix-rename calls. lua 185/185, tcl 342/342, tcl-conf 3/4 — all = baseline. | -| 4 — pratt.sx (lua + prolog) | [in-progress] | — | — | +| 4 — pratt.sx (lua + prolog) | [done] | da27958d | Extracted operator-table format + lookup only — climbing loops stay per-language because lua and prolog use opposite prec conventions. lua/parser.sx: 18-clause cond → 15-entry table. prolog/parser.sx: pl-op-find deleted, pl-op-lookup wraps pratt-op-lookup. lua 185/185, prolog 590/590 — both = baseline. | | 5 — ast.sx (lua + prolog) | [ ] | — | — | | 6 — match.sx (haskell + prolog) | [ ] | — | — | | 7 — layout.sx (haskell + synthetic) | [ ] | — | — |