jolt/test
Yogthos 0db7eb6ac8 fix: value-semantics for collection keys/elements; set literals evaluate
Close jolt-do7. Maps/sets keyed by a collection (a map, vector, ...) now compare
by value instead of Janet identity:
- PHM/PHS hash and compare keys through an injected canonicalizer (collection
  keys -> value-hashable struct/tuple); keys are still stored as-is
- map literals and core-assoc promote to a phm when a key is a collection
- frequencies/group-by use a phm base so collection elements/keys dedup by value
- set equality is value-based (from earlier)

Real bugs found and fixed along the way:
- set literals #{(inc 1)} did not evaluate their elements (stored raw forms!)
- the REPL printer rendered phm maps as {} (they hit the deftype branch); now a
  phm branch prints entries

Added spec cases (maps/collection-keys, sets/literals & value elements).
conformance 218/218, jpm test green.
2026-06-05 01:02:00 -04:00
..
integration test(spec): macros, reader, host-interop, namespaces — fix def-doc, resolve, %& 2026-06-05 00:35:48 -04:00
spec fix: value-semantics for collection keys/elements; set literals evaluate 2026-06-05 01:02:00 -04:00
support test: restructure into unit / integration / spec layers + shared harness 2026-06-05 00:00:16 -04:00
unit test: restructure into unit / integration / spec layers + shared harness 2026-06-05 00:00:16 -04:00