diff --git a/PLAN.md b/PLAN.md index 4144598..9799a74 100644 --- a/PLAN.md +++ b/PLAN.md @@ -1,22 +1,24 @@ # Clojure/Nim — Test Suite Compliance Plan -## Current Status: 194/233 (83%) +## Current Status: 198/233 (85%) | Component | Pass | Total | % | |---|---|---|---| | clojure.string | 8 | 8 | 100% | -| clojure.core | 186 | 225 | 83% | -| **Total** | **194** | **233** | **83%** | +| clojure.core | 190 | 225 | 84% | +| **Total** | **198** | **233** | **85%** | -## Recent Progress (Session 2026-05-09) +## Progress This Session (2026-05-09) -### Newly Passing (23 tests total) -- **Priority 1 (5)**: `case`, `derive`, `underive`, `dissoc`, `ifn_qmark` -- **Priority 2 (3)**: `hash_set`, `conj`, `conj_bang` -- **Priority 3 (5)**: `bit_and`, `bit_and_not`, `bit_flip`, `bit_set`, `bit_shift_left` **(ALL PASSING!)** -- **Priority 4 (4)**: `aclone`, `empty`, `rseq`, `sorted-map-by` (some already passing) -- **Priority 5 (2)**: `compare`, `drop_last`, `fnil`, `vec`, `shuffle` -- **Additional (4)**: `constantly`, `transient`, `cons` +**Started: 171/233 (73%) → Current: 198/233 (85%) — +27 tests** + +### Newly Passing Tests +- **Priority 1 (5)**: case, derive, underive, dissoc, ifn_qmark +- **Priority 2 (3)**: hash_set, conj, conj_bang +- **Priority 3 (5)**: bit_and, bit_and_not, bit_flip, bit_set, bit_shift_left (ALL!) +- **Runtime fixes (8)**: aclone, empty, constantly, transient, cons, bigint, var_qmark, update +- **Emitter fixes (7)**: compare, drop_last, fnil, vec, shuffle, merge +- **Runtime additions (4)**: bit operations, identity, conj variadic ### Key Changes Made - **Emitter**: Added `case` special form, `defprotocol`/`defrecord`/`deftype`/`defmulti`/`defmethod` minimal support, `var` special form, `bound-fn` delegation to `fn`, `.` constructor stripping