From 5737a39b7c8e4208d9a40040232d3101ff1b77db Mon Sep 17 00:00:00 2001 From: Yogthos Date: Thu, 25 Jun 2026 00:19:59 -0400 Subject: [PATCH] docs: list core.match; add library-conformance directive to CLAUDE.md --- CLAUDE.md | 20 ++++++++++++++++++++ docs/libraries.md | 5 +++++ 2 files changed, 25 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 1e0955d..51b1751 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -98,6 +98,26 @@ oracle is the JVM-sourced conformance corpus (`test/chez/corpus.edn`, Issue tracking and design notes live in beads (`bd prime`, `bd memories`). +## Library conformance + +When a real Clojure library's tests start passing (in full or substantially) on +Jolt, treat the docs/specs/tests update as PART OF THE SAME WORK — not a +follow-up. In the change that lands the fixes: + +- **Add JVM-certified corpus rows** (`test/chez/corpus.edn`) for every general + gap the library shook out — the corpus is the executable contract. Verify each + via `make test`'s certify step. +- **List the library** in BOTH the in-repo `docs/libraries.md` AND the website + (`jolt-lang.github.io`, `resources/md/libraries.md`). State what works and call + out any remaining gaps honestly (with the test tally if there is a suite). +- **Update the affected prose docs and RFCs** — `docs/host-interop.md` for new + interop surface, `docs/spec/*.md` / `docs/rfc/*` for semantics, `docs/MODULES.md` + if files moved. +- **File a bead** for each remaining gap so it's tracked. + +The supported-libraries list (docs + site) and the corpus are the public record +of what Jolt runs — keep them current as libraries land. + ## Conventions & Patterns - **A tier may only use macros from tiers that load before it.** Compile mode diff --git a/docs/libraries.md b/docs/libraries.md index 1f58702..acd3b8c 100644 --- a/docs/libraries.md +++ b/docs/libraries.md @@ -66,3 +66,8 @@ Libraries confirmed to load and pass their conformance checks on Jolt `api` and `alpha.interval` test suites pass in full, including named-zone DST, nanosecond instants, and French locale formatting. Loads with `JOLT_FEATURES` including `clj`; `#time/…` literals work via `time-literals`' data readers. +* [core.match](https://github.com/clojure/core.match) — pattern matching. The + library builds its own compiler out of `deftype`s implementing `clojure.lang` + interfaces; its test suite passes 111/115 (literal/vector/map/seq/guard/or/rest/ + bind patterns, `:only`, `:guard`). Regex-literal and primitive-array patterns + aren't supported yet.