jolt/jolt-core/jolt
Yogthos 635cab0e49 host interop + deps fixes for running ring-defaults on jolt
Shaken out getting ring-defaults (and its ring-core/anti-forgery/session stack)
to load and serve static resources on jolt. All general fixes, all runtime:

- Class/forName throws a catchable ClassNotFoundException for a class jolt can't
  back (it returned a broken truthy value for any name, and crashed on use). Lets
  the common (try (Class/forName "optional.Dep") (catch ...)) probe libraries use
  to detect an absent dependency work — e.g. ring's joda-time check.
- deps: reconcile native libs (and source roots) in one step, deduped by library
  identity, instead of the ad-hoc distinct at each call site. An app pulling two
  libs that declare the same shared object (libcrypto via both jolt-crypto and
  http-client) now includes and loads it once.
- io: a File answers getProtocol ("file") / getFile so resource-serving
  middleware that expects io/resource to hand back a file: URL works; the
  classloader gains getResources (every source root holding the resource).
- clojure.string/replace accepts a char match/replacement, like the JVM.

JVM-certified corpus rows for the Class/forName and string/replace behavior.
2026-06-25 04:42:35 -04:00
..
passes Split the success-checker out of types.clj 2026-06-24 01:39:39 -04:00
analyzer.clj Make clojure.spec.alpha load and run 2026-06-24 19:46:22 -04:00
backend_scheme.clj core.match: regex + array patterns (full support); library-conformance directive 2026-06-25 00:46:10 -04:00
deps.clj host interop + deps fixes for running ring-defaults on jolt 2026-06-25 04:42:35 -04:00
ir.clj Enable IR inlining: splice small defns at call sites (lever 1/4) 2026-06-23 17:43:13 -04:00
main.clj Tree-shaking: drop library code unreachable from -main (lever 3/4) 2026-06-23 19:45:13 -04:00
nrepl.clj nREPL: make the built-in server middleware-extensible 2026-06-22 15:37:14 -04:00
passes.clj Enable IR inlining: splice small defns at call sites (lever 1/4) 2026-06-23 17:43:13 -04:00