definterface returns the name (not a var); ns-imports returns java.lang defaults

definterface now expands to (do (def name {}) 'name) so (var? (definterface ...))
is false, matching the JVM where it yields the interface Class. ns-imports returns
the 96 auto-imported java.lang classes (short symbol -> canonical name) so
(count (ns-imports 'user)) is 96. Re-minted for the macro change. Corpus 2718->2720.
This commit is contained in:
Yogthos 2026-06-21 22:47:23 -04:00
parent 9e0a930eb4
commit 632a90cae2
4 changed files with 39 additions and 9 deletions

View file

@ -908,7 +908,7 @@
(mark-macro! "clojure.core" "proxy"))
(guard (e (#t #f))
(def-var! "clojure.core" "definterface"
(lambda (name-sym . body) (let fnrec484 ((name-sym name-sym) (body (list->cseq body))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "def")) (jolt-invoke (var-deref "clojure.core" "__sq1") name-sym) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqmap") ))))))
(lambda (name-sym . body) (let fnrec484 ((name-sym name-sym) (body (list->cseq body))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "do")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "def")) (jolt-invoke (var-deref "clojure.core" "__sq1") name-sym) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqmap") )))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "quote")) (jolt-invoke (var-deref "clojure.core" "__sq1") name-sym)))))))
(mark-macro! "clojure.core" "definterface"))
(guard (e (#t #f))
(def-var! "clojure.core" "reify"