feat: distinguish map entries from vectors; min-key NaN ordering; subvec float coercion
- A map entry is a 2-element tuple (Jolt produces tuples only from map iteration; vector literals are pvecs, lists are arrays). key/val/map-entry? now accept a 2-tuple and reject a plain vector, matching Clojure's MapEntry-vs-vector distinction — no metadata needed, the representations already differ. - min-key/max-key reproduce Clojure's NaN-aware folding (2-arg strict </>, then <=/>=) and require numeric keys (NaN allowed, strings throw). - subvec coerces float/NaN indices like (int ...) (truncate, NaN->0) then bounds-checks, instead of throwing on non-integers. min_key 35/14 -> 49/0 (clean); key/val recover the 2-vector cases; subvec floats fixed. clojure-test-suite pass 3898->3921. Updated conformance-test (key/val now needs a real entry). spec: map/map-entry-&-key-ordering (14). jpm test green.
This commit is contained in:
parent
ace1dcd124
commit
360b23c8af
4 changed files with 60 additions and 18 deletions
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
# Baseline: assertions Jolt currently passes across the suite. Raise as Jolt
|
||||
# improves so a regression (previously-passing assertion breaking) is caught.
|
||||
(def baseline-pass 3895)
|
||||
(def baseline-pass 3915)
|
||||
# A file is "clean" when it ran with zero failures AND zero errors.
|
||||
(def baseline-clean-files 45)
|
||||
# Per-file wall-clock budget (seconds). Normal files finish in well under 1s;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue