feat: load SCI's pure-Clojure modules + adapt remaining core vars; fix defmethod
Load SCI's macro/expander modules from real source (destructure, doseq_macro, for_macro, fns, multimethods) in the test harness — all load with 0 failures, which resolved the sci-internal refs (doseq-macro/expand-doseq, fns/fn**, ...) that previously blocked namespaces.cljc. Add the remaining clojure.core vars, adapting JVM-isms to the Janet runtime: enumeration-seq/iterator-seq -> plain seq, xml-seq -> tree walk, subseq/rsubseq over sorted colls, char-escape-string/char-name-string, line-seq; resolve-only for genuinely-JVM bean/proxy/print-method/print-dup/undefined?. Fix a real defmethod bug: it errored when the multimethod symbol resolved to a plain fn with no method table (e.g. a copy-core-var'd print-method) — now it initializes the table, so (defmethod print-method T ...) works. SCI load: 420/422 forms (was 390/392); only the two keystone aggregation maps in namespaces.cljc remain. conformance 218/218, features 78/78, jank 120.
This commit is contained in:
parent
74ac197e9d
commit
dd51322ff1
3 changed files with 78 additions and 1 deletions
|
|
@ -61,6 +61,12 @@
|
|||
["impl/records.cljc" nil]
|
||||
["impl/core_protocols.cljc" nil]
|
||||
["impl/hierarchies.cljc" nil]
|
||||
# pure-Clojure macro/expander modules (loadable from SCI's real source)
|
||||
["impl/destructure.cljc" nil]
|
||||
["impl/doseq_macro.cljc" nil]
|
||||
["impl/for_macro.cljc" nil]
|
||||
["impl/fns.cljc" nil]
|
||||
["impl/multimethods.cljc" nil]
|
||||
["impl/namespaces.cljc" nil]
|
||||
["core.cljc" nil]
|
||||
])
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue