From 973085e15fe0b5b972c8a3b4fec953b82c1f95d6 Mon Sep 17 00:00:00 2001 From: giles Date: Sat, 25 Apr 2026 19:26:56 +0000 Subject: [PATCH] plans: tick conformance.sh + Phase 3 complete Co-Authored-By: Claude Sonnet 4.6 --- plans/haskell-on-sx.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/plans/haskell-on-sx.md b/plans/haskell-on-sx.md index a074ccbf..dbd39223 100644 --- a/plans/haskell-on-sx.md +++ b/plans/haskell-on-sx.md @@ -81,13 +81,13 @@ Key mappings: - [x] Infinite structures: `repeat x`, `iterate f x`, `[1..]`, Fibonacci stream (sieve deferred — needs lazy `++` and is exercised under `Classic programs`) - [x] `seq`, `deepseq` from Prelude - [x] Do-notation for a stub `IO` monad (just threading, no real side effects yet) -- [ ] Classic programs in `lib/haskell/tests/programs/`: +- [x] Classic programs in `lib/haskell/tests/programs/`: - [x] `fib.hs` — infinite Fibonacci stream - [x] `sieve.hs` — lazy sieve of Eratosthenes - [x] `quicksort.hs` — naive QS - [x] `nqueens.hs` - [x] `calculator.hs` — parser combinator style expression evaluator -- [ ] `lib/haskell/conformance.sh` + runner; `scoreboard.json` + `scoreboard.md` +- [x] `lib/haskell/conformance.sh` + runner; `scoreboard.json` + `scoreboard.md` - [x] Target: 5/5 classic programs passing ### Phase 4 — Hindley-Milner inference @@ -114,6 +114,11 @@ Key mappings: _Newest first._ +- **2026-04-25** — `conformance.sh` runner + `scoreboard.json` + `scoreboard.md`. + Script runs each classic program's test suite, prints per-program pass/fail, + and writes both files. `--check` mode skips writing for CI use. + Initial snapshot: 16/16 tests, 5/5 programs passing. Phase 3 complete. + - **2026-04-25** — Classic program `calculator.hs`: recursive descent expression evaluator using ADTs for tokens and results. `data Token = TNum Int | TOp String` + `data Result = R Int [Token]`;