Per-form descriptor extraction for Plumatic source forms stored in the
project-wide form-refs map, keyed by qualified symbol (built once in
skeptic.checking.pipeline/project-state, threaded through bridge ctx).
Pipeline stores prepared descriptors, not raw forms. Each descriptor carries
the exact source namespace, alias map, and known declaration qsyms used to
resolve schema-reference symbols deterministically.
Descriptor shapes: :defn → {:kind :defn :output-form form :arglists {k {:input-forms [...]}}} :def → {:kind :def :schema-form form} :defschema → {:kind :defschema :schema-form form} :schema-source → {:kind :schema-source :schema-form form}
Prepared descriptors add: :source-env → {:ns ns-sym :aliases {alias target-ns} :ref-qsyms #{qsym}}
Per-form descriptor extraction for Plumatic source forms stored in the
project-wide form-refs map, keyed by qualified symbol (built once in
`skeptic.checking.pipeline/project-state`, threaded through bridge ctx).
Pipeline stores prepared descriptors, not raw forms. Each descriptor carries
the exact source namespace, alias map, and known declaration qsyms used to
resolve schema-reference symbols deterministically.
Descriptor shapes:
:defn → {:kind :defn :output-form form :arglists {k {:input-forms [...]}}}
:def → {:kind :def :schema-form form}
:defschema → {:kind :defschema :schema-form form}
:schema-source → {:kind :schema-source :schema-form form}
Prepared descriptors add:
:source-env → {:ns ns-sym :aliases {alias target-ns} :ref-qsyms #{qsym}}(exact-ref-qsym {:keys [ref-qsyms] :as source-env} form)The exact admitted declaration qsym named by form, or nil when the symbol
does not name one of the carried declaration qsyms.
The exact admitted declaration qsym named by `form`, or nil when the symbol does not name one of the carried declaration qsyms.
(raw->descriptor raw-form)Dispatch a raw Plumatic source form to its extractor by head NAME. Pipeline ensures only Plumatic-discovered forms reach this fn, so a name match (under any alias of schema.core) is sufficient. Returns nil for unrecognized heads.
Dispatch a raw Plumatic source form to its extractor by head NAME. Pipeline ensures only Plumatic-discovered forms reach this fn, so a name match (under any alias of schema.core) is sufficient. Returns nil for unrecognized heads.
(source-symbol-qsym {:keys [ns aliases]} form)Resolve one source symbol exactly in the descriptor's namespace context. Qualified symbols either expand through an explicit alias or remain as written. Unqualified symbols resolve to the descriptor's own namespace. This returns a single qsym, never a candidate set.
Resolve one source symbol exactly in the descriptor's namespace context. Qualified symbols either expand through an explicit alias or remain as written. Unqualified symbols resolve to the descriptor's own namespace. This returns a single qsym, never a candidate set.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |