The clojure.core type predicates bottom out at host tests that overlay Clojure can't reach. Expose them under jolt.host so the predicate web can be built as pure compositions that lower to exactly these calls: numeric tower: exact? flonum? integer-type? rational-type? collection reps: pvec? pmap? pset? cseq? empty-list? cseq-list? lazyseq? exact? is wrapped to be total (Chez's raw exact? errors on a non-number; the others return #f for a non-match). lazyseq? is exposed in lazy-bridge.ss because jolt-lazyseq? is defined there, after predicates.ss. map?/set?/seq? are deliberately not reduced to a single rep test: they are extended at runtime with sorted-collection/record/lazy arms, so only the rep predicates are exposed, not those unions. Additive only (new bindings, nothing references them yet); bench unchanged within noise. |
||
|---|---|---|
| .. | ||
| chez | ||