GUEST-plan: log step 0 done

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-06 22:02:08 +00:00
parent 2f7f8189ea
commit c265c6e376

View File

@@ -18,17 +18,17 @@ The loop fills these in on its first iteration by running every `*/conformance.s
| Guest | Suite | Baseline |
|--------------|--------------------|----------|
| lua | `bash lib/lua/test.sh` | TBD |
| prolog | `bash lib/prolog/conformance.sh` | TBD |
| haskell | `bash lib/haskell/conformance.sh` | TBD |
| common-lisp | `bash lib/common-lisp/conformance.sh` | TBD |
| erlang | `bash lib/erlang/conformance.sh` | TBD |
| js | `bash lib/js/conformance.sh` | TBD |
| smalltalk | `bash lib/smalltalk/conformance.sh` | TBD |
| tcl | `bash lib/tcl/conformance.sh` | TBD |
| forth | `bash lib/forth/test.sh` | TBD |
| ruby | `bash lib/ruby/test.sh` | TBD |
| apl | `bash lib/apl/test.sh` | TBD |
| lua | `bash lib/lua/test.sh` | 185 / 185 |
| prolog | `bash lib/prolog/conformance.sh` | 590 / 590 |
| haskell | `bash lib/haskell/conformance.sh` | 0 / 18 (programs) |
| common-lisp | `bash lib/common-lisp/conformance.sh` | 309 / 309 |
| erlang | `bash lib/erlang/conformance.sh` | 0 / 0 (suite all-zero) |
| js | `bash lib/js/conformance.sh` | 94 / 148 (test262-slice) |
| smalltalk | `bash lib/smalltalk/conformance.sh` | 625 / 629 |
| tcl | `bash lib/tcl/conformance.sh` | 3 / 4 (programs) |
| forth | `bash lib/forth/test.sh` | 64 / 64 |
| ruby | `bash lib/ruby/test.sh` | 76 / 76 |
| apl | `bash lib/apl/test.sh` | 73 / 73 |
The baseline only needs to be re-snapshotted when the substrate (`spec/**`, `hosts/**`) changes underneath this loop.
@@ -139,9 +139,11 @@ Generalised layout-sensitive lexer. Configurable: which keywords open layout blo
Extract from `haskell/infer.sx`. Algorithm W or J, generalisation, instantiation, occurs-check, principal types.
**Port to:** `haskell/infer.sx`. Second consumer is speculative (no existing ML/Elm guest); accept "second user TBD" for this step only, since the alternative is letting the inference stay locked inside Haskell forever.
**Sequencing:** this step is **paired with `plans/ocaml-on-sx.md` Phase 5**. The natural order is lib-guest Steps 07 → OCaml-on-SX Phases 15 → lib-guest Step 8. With OCaml-on-SX Phase 5 done, the two-language rule is satisfied for real (Haskell + OCaml). Without it, accept "second user TBD" the alternative is letting the inference stay locked inside Haskell forever.
**Verify:** haskell scoreboard equal baseline.
**Port to:** `haskell/infer.sx` and (preferred) `lib/ocaml/types.sx`.
**Verify:** haskell scoreboard equal baseline; if OCaml-on-SX Phase 5 has shipped, OCaml type-inference tests equal baseline too.
---
@@ -149,7 +151,7 @@ Extract from `haskell/infer.sx`. Algorithm W or J, generalisation, instantiation
| Step | Status | Commit | Delta |
|------|--------|--------|-------|
| 0 — baseline snapshot | [in-progress] | — | — |
| 0 — baseline snapshot | [done] | 2f7f8189 | 11 guests captured: lua 185/185, forth 64/64, ruby 76/76, apl 73/73, prolog 590/590, common-lisp 309/309, smalltalk 625/629, tcl 3/4, haskell 0/18 programs, js 94/148 (slice), erlang 0/0 |
| 1 — conformance.sx (prolog + haskell) | [ ] | — | — |
| 2 — prefix.sx (common-lisp + lua) | [ ] | — | — |
| 3 — lex.sx (lua + tcl) | [ ] | — | — |