Blaise's 10 phases (README status: 1–5 + 7 complete, 6 ongoing, 8–10 planned). This file tracks where m2compiler-V3 stands against each, and records deliberate divergences so they aren't rediscovered. Refresh after every major step.
| Blaise | Status there | Us | Status here |
|---|---|---|---|
| 1 Bootstrap pipeline | ✅ | Step 1 (M2→QBE hello) | ✅ done (v3-step1) |
| 2 Type system (classes, records, ARC, exceptions) | ✅ | Steps 2–4.3 (scalars ✅, composites ✅, calls/frames/recursion ✅, nested + display ✅, separate compilation ✅) | ✅ complete modulo deliberate outs |
| 3 Generics + interfaces | ✅ | Explicitly OUT (R10 blueprints rejected) | ❌ deliberate |
| 4 OPDF debug info | ✅ | Deferred (listing only) | ❌ deferred |
| 5 Self-hosting | ✅ | Step 8 (last) | ⚠️ same mechanism, later slot |
| 6 RTL/StdLib expansion | 🔄 ongoing | Step 5 (Benjamin stdlib) | Not started |
| 7 Native backend | ✅ | Not planned (QBE is terminal) | ❌ deliberate |
| 8 Windows/macOS ARM64 | Planned | Out of scope (amd64_sysv) | ❌ |
| 9 LSP + VS Code | Planned | Deferred vaguely | ❌ |
| 10 Migration analyser | Planned | 1.12 TopSpeed grammar, 662-file corpus parse-clean | ✅ convergent |
Process, not phases: phased steps with per-step design docs (their
design.adoc rhythm → our summary_stepN.md), test-guarded
progress, QBE-first backend for speed-to-hosting (their stated
reason, ours too), fixpoint verification (their 3-stage
byte-identical bootstrap → our planned bootstrap/fixpoint.sh
over .ssa).
Two places we're ahead of their learning curve, per graemeg's own
v0.12.0 retrospective: our harness has been end-to-end
(qbe→cc→run) since step 1 — exactly the gap (IR-only tests
missing link/runtime bugs) he's now closing. Keep it that way:
no step lands on IR inspection alone.
scripts/rolling-bootstrap.sh exists
because new parser features break old binaries: once M2 compiles
itself (step 8), a grammar extension can strand the stage-1
binary. Our fixpoint.sh must rebuild commit-by-commit from the
last green binary, not just diff three stages. (Recorded pre-emptively;
hits at step 8.)qbe+cc
plus documented host-gm2 bootstrap, nothing else.M2.atg + legacy
TopSpeed-V3-M2.atg (1.12). This mirrors their phase-10
split (modern core + migration sidecar) and quarantines the
opposite dialect decisions (_, <>, H/C/B suffixes).
Never merge them; the modern grammar stays Redux-clean.plan.md refreshed (0x-only,
no-AST-module reality, two-grammar strategy, step-3 substeps).