Clean up codebase: rename stdlib layer, strip porting residue, fix tooling
Rename src/jolt -> stdlib (the runtime-loaded layer; jolt-core stays the seed-baked layer) and update the loader / emit-image / doc paths. Drop dead code: the spike/ experiments, the duplicate clojuredocs-export.edn (json moves to tools/), the Janet-era jolt.http binding, and the orphaned persistent_vector.clj whose ns/path didn't even match. Strip porting residue from comments and docstrings across host/chez, jolt-core, stdlib, tests, and docs: internal issue ids, "Phase N" markers, and the "vs Janet" historical exposition, leaving present-tense descriptions and the real JVM-Clojure semantic contrasts. Same pass over the corpus suite labels. The seed is unchanged (docstrings/comments aren't emitted), so the self-host fixpoint and corpus are untouched. Port tools/spec_coverage.py off the dead janet probe to bin/joltc and regenerate coverage.md; drop the dead :host/janet rule from certify.clj and regenerate the conformance profile. Add docs/host-interop.md (the JVM shims and how to register your own host class from a library) and a writing-style note in CLAUDE.md. Stabilize the four racy concurrency corpus cases (future-cancel and agent send/send-off): give the future a sleeping body and the agent a slow action, so cancel reliably catches an in-flight future and deref reliably reads the pre-update snapshot. They certify deterministically now, so drop their :flaky allowlist entries and the orphaned legend.
This commit is contained in:
parent
c18f8087f0
commit
33eff7c7d8
112 changed files with 970 additions and 1621 deletions
|
|
@ -1,8 +1,8 @@
|
|||
;; syntax-quote form builders (jolt-r9lm, inc6b). A macro expander whose body was a
|
||||
;; syntax-quote template (lowered by jolt.host/form-syntax-quote-lower) calls these
|
||||
;; at RUNTIME on Chez to build the EXPANSION as
|
||||
;; Chez READER forms (cseq list / pvec / pmap / tagged-set pmap) so the on-Chez
|
||||
;; analyzer can re-analyze it. def-var!'d into clojure.core, so the lowered body's
|
||||
;; syntax-quote form builders. A macro expander whose body was a syntax-quote
|
||||
;; template (lowered by jolt.host/form-syntax-quote-lower) calls these at RUNTIME
|
||||
;; to build the EXPANSION as READER forms (cseq list / pvec / pmap / tagged-set
|
||||
;; pmap) so the on-Chez analyzer can re-analyze it. def-var!'d into clojure.core,
|
||||
;; so the lowered body's
|
||||
;; unqualified __sqcat/__sqvec/__sqmap/__sqset/__sq1 refs (which lower to var-deref
|
||||
;; in prelude mode) resolve here.
|
||||
;;
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
;; pmap that __sqcat/__sqvec/__sqmap build double as their own form rep — but a set
|
||||
;; value (pset) differs from the reader's set FORM ({:jolt/type :jolt/set :value
|
||||
;; <pvec>}), so building the tagged form here would make a runtime `#{~@xs} a map,
|
||||
;; not a set (jolt-r9lm regression). Build the value; the analyzer's form-set?
|
||||
;; not a set. Build the value; the analyzer's form-set?
|
||||
;; (host-contract.ss) additionally recognizes a pset, so a macro template's #{...}
|
||||
;; expansion still re-analyzes as a set literal.
|
||||
(define (jolt-sqset . parts) (apply jolt-hash-set (sq-flatten parts)))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue