Coverage
Auto-generated diff between cljrs's installed names and the public
vars of Clojure's standard library namespaces. Every var in the
canonical list is accounted for: implemented, deliberately
out-of-scope, or missing. Regenerate with
tools/coverage/build.sh.
clojure.core
implemented (405)
*+-->->>/<<====>>=NaN?absadd-tapalter-meta!ancestorsandany?applyarray-mapas->assertassocassoc!assoc-inassociative?atombit-andbit-and-notbit-clearbit-flipbit-notbit-orbit-setbit-shift-leftbit-shift-rightbit-testbit-xorbooleanboolean?bounded-countbutlastcasecatcatchcoll?commentcompcomparatorcomparecompare-and-set!complementcompletingconcatcondcond->cond->>condpconjconj!consconstantlycontains?countcounted?cycledecdecimal?dedupedefdefmacrodefmethoddefmultidefndefn-defoncedefprotocoldefrecorddelaydelay?denominatorderefderivedescendantsdisjdisj!dissocdissoc!distinctdistinct?dodoalldorundoseqdotimesdoubledouble?dropdrop-lastdrop-whileemptyempty?ensure-reducedeven?every-predevery?ex-causeex-dataex-infoex-messagefalse?ffirstfilterfiltervfinallyfindfind-keywordfirstflattenfloatfloat?flushfnfn?fnextfnilforforcefrequenciesgensymgetget-inget-methodget-validatorgroup-byhalt-whenhashhash-maphash-ordered-collhash-sethash-unordered-collident?identical?identityifif-letif-notif-someifn?in-nsincindexed?infinite?inst-msinst?instance?intint?integer?interleaveinterposeintoisa?iteratejuxtkeepkeep-indexedkeykeyskeywordkeyword?lastlazy-catlazy-seqletletfnlistlist*list?load-filelongloopmacroexpandmacroexpand-1make-hierarchymapmap-entry?map-indexedmap?mapcatmapvmaxmax-keymemoizemergemerge-withmetamethodsminmin-keymix-collection-hashmodnamenamespacenat-int?neg-int?neg?newlinenextnfirstnil?nnextnotnot-any?not-emptynot-every?not=nsnthnthnextnthrestnumnumber?numeratorodd?orparentsparse-booleanparse-doubleparse-longparse-uuidpartialpartitionpartition-allpartition-bypartitionvpartitionv-allpeekpersistent!poppop!pos-int?pos?prpr-strprefer-methodprefersprintprint-strprintlnprintln-strprnprn-strqualified-ident?qualified-keyword?qualified-symbol?quotquoterandrand-intrand-nthrandom-samplerandom-uuidrangeratio?rationalizere-findre-matchesre-patternre-seqread-stringrealized?record?recurreducereduce-kvreducedreduced?reductionsremremoveremove-all-methodsremove-methodremove-taprepeatrepeatedlyreplacereplicaterequirereset!reset-meta!reset-vals!restreversereversible?rseqrsubseqrun!secondselect-keysseqseq?seqable?sequencesequential?setset-validator!set?shufflesimple-ident?simple-keyword?simple-symbol?slurpsomesome->some->>some-fnsome?sortsort-bysorted-mapsorted-map-bysorted-setsorted-set-bysorted?special-symbol?spitsplit-atsplit-withsplitv-atstrstring?subssubseqsubvecswap!swap-vals!symbolsymbol?taketake-lasttake-nthtake-whiletap>testthrowtimetrampolinetransducetransienttree-seqtrue?trytypeunchecked-addunchecked-add-intunchecked-byteunchecked-charunchecked-decunchecked-dec-intunchecked-divide-intunchecked-doubleunchecked-floatunchecked-incunchecked-inc-intunchecked-intunchecked-longunchecked-multiplyunchecked-multiply-intunchecked-negateunchecked-negate-intunchecked-remainder-intunchecked-shortunchecked-subtractunchecked-subtract-intunderiveunreducedunsigned-bit-shift-rightupdateupdate-inupdate-keysupdate-valsuri?uuid?valvalsvary-metavecvectorvector-ofvector?volatile!volatile?vreset!vswap!whenwhen-firstwhen-letwhen-notwhen-somewhilewith-metazero?zipmap
missing (0)
- none
not applicable (257)
&— rest-args binding marker, not a fn*'— bigint promotion (no bigint type yet)*1— JVM REPL history*2— JVM REPL history*3— JVM REPL history*agent*— JVM agent runtime*assert*— JVM assert switch*clojure-version*— cljrs is not Clojure JVM*command-line-args*— shell launcher concern*compile-files*— JVM AOT*compile-path*— JVM AOT*compiler-options*— JVM AOT*data-readers*— JVM data-reader registry*default-data-reader-fn*— JVM data-reader registry*e— JVM REPL last-error*err*— JVM stream*file*— JVM source-file var*flush-on-newline*— JVM Writer model*in*— JVM stream*ns*— JVM ns var*out*— JVM stream*print-dup*— JVM print-dup*print-length*— JVM print state (use clojure.pprint)*print-level*— JVM print state*print-meta*— JVM print state*print-namespace-maps*— JVM print state*print-readably*— JVM print state*read-eval*— JVM reader switch*repl*— JVM REPL flag*unchecked-math*— JVM unchecked math switch*warn-on-reflection*— JVM reflection warning+'— bigint promotion (no bigint type yet)-'— bigint promotion (no bigint type yet)->ArrayChunk— chunked-seq impl detail->Eduction— Eduction record (transducer infra impl detail)->Vec— gvec impl detail->VecNode— gvec impl detail->VecSeq— gvec impl detail.— JVM dot interop..— JVM dot interopArrayChunk— chunked-seq impl detailEduction— Eduction type (transducer infra impl detail)PrintWriter-on— JVM PrintWriterStackTraceElement->vec— JVM StackTraceElementThrowable->map— JVM Throwable conversionVec— gvec typeVecNode— gvec internal type, JVM-specificVecSeq— gvec internal type, JVM-specificaccessor— superseded by records (deprecated in Clojure)aclone— Java arrayadd-classpath— deprecated, JVM classloader manipulationadd-watch— JVM Ref/Atom watchesagent— JVM-specific concurrency primitiveagent-error— JVM agent runtimeagent-errors— JVM agent runtimeaget— Java arrayalength— Java arrayalias— ns alias (use require :as)all-ns— JVM ns registry detailalter— JVM STMalter-var-root— vars-as-references model not implementedamap— Java arrayareduce— Java arrayaset— Java arrayaset-boolean— Java arrayaset-byte— Java arrayaset-char— Java arrayaset-double— Java arrayaset-float— Java arrayaset-int— Java arrayaset-long— Java arrayaset-short— Java arrayawait— JVM agent runtimeawait-for— JVM agent runtimebases— JVM class hierarchybean— JVM bean introspectionbigdec— bigdec not implementedbigint— bigint not implementedbiginteger— bigint not implementedbinding— JVM thread-local varboolean-array— Java primitive arraybooleans— Java primitive arraybound-fn— JVM thread-local varbound-fn*— JVM thread-local varbound?— JVM thread-local varbyte— JVM byte coercionbyte-array— Java primitive arraybytes— Java primitive arraybytes?— Java primitive arraycast— JVM type castchar— JVM char coercionchar-array— Java primitive arraychar-escape-string— pr-str internal, no separate API surfacechar-name-string— pr-str internal, no separate API surfacechar?— JVM char (cljrs has no char type)chars— Java primitive arrayclass— JVM classclass?— JVM classclear-agent-errors— JVM agent runtimeclojure-version— cljrs is not Clojure JVMcommute— JVM STMcompile— AOT compilation handled differently in cljrsconstruct-proxy— JVM reflectioncreate-ns— JVM ns registry detailcreate-struct— superseded by records (deprecated in Clojure)dec'— bigint promotion (no bigint type yet)declare— not yet, but planneddefault-data-readers— JVM data-reader registrydefinline— JVM inline emissiondefinterface— JVM interface emissiondefstruct— superseded by records (deprecated in Clojure)deftype— JVM class generation; cljrs uses defrecord-like mapsdeliver— JVM thread pool primitivedosync— JVM STMdoto— JVM mutation chain (no methods to call)double-array— Java primitive arraydoubles— Java primitive arrayeduction— lazy-seq transducer wrapper, defer until lazy seqs landensure— JVM STMenumeration-seq— JVM Enumeration interoperror-handler— JVM agent runtimeerror-mode— JVM agent runtimeeval— deferred (security/runtime concern)extend— JVM protocol extensionextend-protocol— JVM protocol extensionextend-type— JVM protocol extensionextenders— JVM protocol extensionextends?— JVM protocol extensionfile-seq— JVM File interopfind-ns— JVM ns registry detailfind-var— vars-as-references model not implementedfloat-array— Java primitive arrayfloats— Java primitive arrayformat— JVM Formatter (planned via Rust format!)future— JVM thread pool primitivefuture-call— JVM thread pool primitivefuture-cancel— JVM thread pool primitivefuture-cancelled?— JVM thread pool primitivefuture-done?— JVM thread pool primitivefuture?— JVM thread pool primitivegen-class— JVM bytecode emissiongen-interface— JVM bytecode emissionget-proxy-class— JVM reflectionget-thread-bindings— JVM thread-local varimport— JVM Java class importinc'— bigint promotion (no bigint type yet)init-proxy— JVM reflectionint-array— Java primitive arrayintern— vars-as-references model not implementedinto-array— Java primitive arrayints— Java primitive arrayio!— JVM STMiteration— lazy paginated iteration, defer until lazy seqs landiterator-seq— JVM Iterator interopline-seq— JVM Reader interopload— file loading via load-fileload-reader— JVM readerload-string— JVM readerloaded-libs— JVM ns registry detaillocking— JVM monitorlong-array— Java primitive arraylongs— Java primitive arraymake-array— Java primitive arraymemfn— JVM method handlemonitor-enter— JVM monitormonitor-exit— JVM monitornamespace-munge— JVM class-name mungingnew— Java interop special formns-aliases— JVM ns introspectionns-imports— JVM ns introspectionns-interns— JVM ns introspectionns-map— JVM ns introspectionns-name— JVM ns introspectionns-publics— JVM ns introspectionns-refers— JVM ns introspectionns-resolve— vars-as-references model not implementedns-unalias— JVM ns introspectionns-unmap— JVM ns introspectionobject-array— Java primitive arraypcalls— JVM thread pool primitivepmap— JVM thread pool primitivepop-thread-bindings— JVM thread-local varprintf— JVM Formatterpromise— JVM thread pool primitiveproxy— JVM reflectionproxy-mappings— JVM reflectionproxy-super— JVM reflectionpush-thread-bindings— JVM thread-local varpvalues— JVM thread pool primitiverational?— not yetre-groups— JVM Matcher (re-find returns groups directly)re-matcher— JVM Matcherread— stream reader (use read-string)read+string— stream readerread-line— stdin readerreader-conditional— only useful in .cljc files; cljrs has no reader conditionals yetreader-conditional?— see reader-conditionalref— JVM STMref-history-count— JVM STMref-max-history— JVM STMref-min-history— JVM STMref-set— JVM STMrefer— superseded by require :referrefer-clojure— implicit; cljrs always refers corereify— JVM anonymous classrelease-pending-sends— JVM agent runtimeremove-ns— JVM ns registry detailremove-watch— JVM Ref/Atom watchesrequiring-resolve— requires runtime resolve+require interopresolve— vars-as-references model not implementedrestart-agent— JVM agent runtimeresultset-seq— JVM JDBC interopsatisfies?— requires protocol implementation registrysend— JVM agent runtimesend-off— JVM agent runtimesend-via— JVM agent runtimeseq-to-map-for-destructuring— compiler-internal helperseque— JVM thread+queue primitiveset!— JVM mutable fieldset-agent-send-executor!— JVM agent runtimeset-agent-send-off-executor!— JVM agent runtimeset-error-handler!— JVM agent runtimeset-error-mode!— JVM agent runtimeshort— JVM short coercionshort-array— Java primitive arrayshorts— Java primitive arrayshutdown-agents— JVM agent runtimestream-into!— JDK 8 Stream interopstream-reduce!— JDK 8 Stream interopstream-seq!— JDK 8 Stream interopstream-transduce!— JDK 8 Stream interopstruct— superseded by records (deprecated in Clojure)struct-map— superseded by records (deprecated in Clojure)supers— JVM class hierarchysync— JVM STMtagged-literal— tagged-literal support pendingtagged-literal?— tagged-literal support pendingthe-ns— vars-as-references model not implementedthread-bound?— JVM thread-local varto-array— Java primitive arrayto-array-2d— Java primitive arrayupdate-proxy— JVM reflectionuse— superseded by requirevar— JVM Var reference, cljrs uses Symbol resolutionvar-get— vars-as-references model not implementedvar-set— vars-as-references model not implementedvar?— vars-as-references model not implementedwith-bindings— JVM thread-local varwith-bindings*— JVM thread-local varwith-in-str— JVM PushbackReaderwith-local-vars— vars-as-references model not implementedwith-open— JVM AutoCloseablewith-out-str— thread-local *out* (planned)with-precision— JVM bigdec contextwith-redefs— requires var rebinding, cljrs has no var indirectionwith-redefs-fn— see with-redefsxml-seq— JVM XML interop
cljrs extensions not in canonical clojure.core (44)
EPITAUatom?bigdec?build-forcase-emitceilchunked-seq?condp-emitcoscycle-stepdec-alldefn-gpudefn-gpu-pixeldefn-nativedelay-realized?expexpand-record-methodsfloorforce-seqinc-alllazy-cat-helperletfn-buildlogpowroundsinsqrtstr/blank?str/ends-with?str/includes?str/index-ofstr/joinstr/last-index-ofstr/lower-casestr/replacestr/splitstr/starts-with?str/trimstr/upper-casetantime-mstype-kw
clojure.string
implemented (21)
blank?capitalizeends-with?escapeincludes?index-ofjoinlast-index-oflower-casere-quote-replacementreplacereplace-firstreversesplitsplit-linesstarts-with?trimtrim-newlinetrimltrimrupper-case
missing (0)
- none
not applicable (0)
- none
clojure.set
implemented (12)
differenceindexintersectionjoinmap-invertprojectrenamerename-keysselectsubset?superset?union
missing (0)
- none
not applicable (0)
- none
clojure.walk
implemented (10)
keywordize-keysmacroexpand-allpostwalkpostwalk-demopostwalk-replaceprewalkprewalk-demoprewalk-replacestringify-keyswalk
missing (0)
- none
not applicable (0)
- none
clojure.edn
implemented (2)
readread-string
missing (0)
- none
not applicable (0)
- none
How this is computed
Canonical lists (tools/coverage/clojure_*.txt) are
scraped from the official Clojure 1.12 API index pages
(https://clojure.github.io/clojure/clojure.NS-api.html).
The "installed" set is read from src/builtins.rs
(Rust builtins inside fn core_fns()) and
src/core.clj (top-level defn /
defmacro / def forms; private
defn- ignored). Names listed in
tools/coverage/not_applicable.txt are pulled out of
the "missing" bucket and shown separately with a one-line reason.
Names installed in cljrs.core are reachable from
user code as clojure.core/X via the lookup chain in
src/env.rs — qualified lookups hit globals
directly. str/X builtins are dual-bound under the
canonical clojure.string/ prefix.