Supported Libraries

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

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 go blocks (<!/>!/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 ships clojure.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.yaml load/dump, clj-yaml.core compat, SnakeYAML engine surface).
  • medley — collection utilities.
  • config — environment configuration.
  • aero — EDN configuration with tag literals (#ref/#env/#or/#profile/#long/…).

Databases

Templating, markup, text

Date and time

  • tick — date/time over Jolt's java.time; #time/… literals via time-literals.

Logging

  • tools.logging — runs verbatim over a native clojure.tools.logging.impl stderr 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.