jolt/docs
Dmitri Sotnikov 61d621521b
Library ports: get hiccup running, verify malli (reader + interop fixes) (#127)
* Reader: #() params survive syntax-quote (auto-gensym names)

#(...) named its synthesized params with bare gensyms, so a #() written inside a
syntax-quote had its params qualified to the current ns by sq-symbol — and a
qualified symbol isn't a valid fn param. hiccup's compiler emits
`(let [sb# ..] (iterate! #(.append sb# %) ..)), which broke with "Unable to
resolve symbol: ns/_NNNN".

Name the params with a trailing # (auto-gensym suffix, like Clojure's p1__N#) so
syntax-quote maps them consistently and leaves them unqualified. Harmless outside
a backtick (just a regular symbol name).

* interop: String/valueOf static + String is a CharSequence

Two interop gaps surfaced bringing up hiccup and malli:
- String/valueOf(Object): hiccup's compiler stringifies attribute values with
  (String/valueOf (or arg "")). Added the static — "null" for nil, else core-str.
- (instance? CharSequence s) returned false for a string; String implements
  CharSequence, and malli's :re validator gates on it before matching, so :re
  schemas always failed. instance-check now answers true for strings.

---------

Co-authored-by: Yogthos <yogthos@gmail.com>
2026-06-15 19:36:13 +00:00
..
rfc Direct-link + whole-program by default for program runs; open for the REPL 2026-06-14 15:44:01 -04:00
spec Library ports: get hiccup running, verify malli (reader + interop fixes) (#127) 2026-06-15 19:36:13 +00:00
architecture-refactor-plan.md Architecture refactor: plan + phase 0 (dead code + bugs) (#106) 2026-06-15 03:01:55 +00:00
building-and-deps.md deps: global gitlibs-style clone cache + :tasks runner 2026-06-10 23:22:36 -04:00
grammar.ebnf Protocol/interop fixes to run metosin/malli (jolt-ltwk) (#105) 2026-06-15 03:20:33 +00:00
libraries.md feat: run the real clojure.tools.logging (defmacro/syntax-quote/ns + host shims) 2026-06-13 18:50:53 -04:00
seed-overlay-registry.md Refactor phase 5d/5e: seed↔overlay registry + rep↔API boundary docs (jolt-bvek) 2026-06-15 04:22:05 -04:00
self-hosting-architecture.md docs: consolidate doc/ into docs/ 2026-06-10 12:10:28 -04:00
self-hosting-compiler.md Direct-link + whole-program by default for program runs; open for the REPL 2026-06-14 15:44:01 -04:00
tools-deps.md deps: :jpm/module coordinates; the janet.* bridge autoloads jpm modules 2026-06-11 20:58:43 -04:00