These Clojure libraries are confirmed to load and pass their conformance checks on Jolt. Most load unmodified from git; a few rely on host shims Jolt provides. See the examples repository for runnable projects.
Web and routing
- ring-core — via
:deps/root "ring-core", on the ring-app example. - ring-codec — URL/form encoding.
- ring-defaults — the standard middleware stack (params, static resources + content-type, session, security headers); session/CSRF crypto via jolt-lang/jolt-crypto (OpenSSL).
- reitit-core — data-driven routing; the
reitit.TrieJava class is mirrored by jolt-lang/router. - integrant — data-driven system configuration (
#ig/ref), with its dependency and meta-merge deps.
Data and schemas
- malli — data schema validation, on the malli-app example.
- honeysql — SQL formatter and helpers.
- clojure.data.json — JSON reading and writing.
- clojure.spec.alpha — data specs.
- core.match — pattern matching.
- core.cache — caching (Basic/FIFO/LRU/LU/TTL/Soft + wrapped), over data.priority-map.
- core.memoize — function memoization over core.cache.
- core.async — CSP channels and
goblocks (<!/>!/alts!,pipeline,mult/mix/pub/sub) on real OS threads. - core.logic — relational logic programming (unification,
run/fresh/conde, finite domains). - math.combinatorics — permutations, combinations, subsets, selections, cartesian products, partitions.
- core.contracts — programming by contract (
contract/with-constraints/provide), over core.unify. - data.zip — zipper navigation, including
clojure.data.zip.xml; XML via jolt-lang/xml (which shipsclojure.xml/parse). - data.csv — reading and writing CSV.
- data.codec — base64 encode/decode over byte arrays.
- data.priority-map — priority maps (keyfn / custom comparator), with
subseq/rsubseq. - tools.macro — local macros (
macrolet/symbol-macrolet),mexpand/mexpand-all. - algo.monads — monad macros and monads (maybe/seq/state/writer/reader/…), over tools.macro.
- test.check — property-based testing (generators,
quick-check, shrinking). - transit-jolt — Transit (JSON) read/write.
- yamlstar — YAML load/dump (pure-Clojure parser, JSON-safe integer policy).
- jolt-yaml — YAML over the system libyaml (
jolt.yamlload/dump,clj-yaml.corecompat, SnakeYAML engine surface). - medley — collection utilities.
- config — environment configuration.
- aero — EDN configuration with tag literals (
#ref/#env/#or/#profile/#long/…).
Databases
- clojure.jdbc — via jolt-lang/db's
jdbc.core, over built-in SQLite access (libsqlite3 through Chez's FFI). - migratus — database migrations over jolt-lang/db.
Templating, markup, text
- Selmer — Django-style templates.
- hiccup — HTML from Clojure data, on the hiccup-app example.
- markdown-clj — Markdown to HTML, on the markdown-app example.
- cuerdas — string manipulation.
Date and time
- tick — date/time over Jolt's
java.time;#time/…literals viatime-literals.
Logging
- tools.logging — runs verbatim over a native
clojure.tools.logging.implstderr backend.
Loading a library is per-function: a namespace can load with most functions working and a few not. If something is missing, it's usually a clojure.core function Jolt doesn't implement yet or a Java class to shim — see Host Interop.