bootstrap: SCI core deps loading with 284/304 forms passing
reader: #?@ empty splice fix (nil→@[]), #? nil→:jolt/skip, map reader handles #_/#?@ in K/V evaluator: unwrap-meta-name helper, deftype interns ->Name too, dot-suffix fix core: comment/prefer-method stubs, *unchecked-math*/*clojure-version* dynamic vars
This commit is contained in:
parent
cdcf569506
commit
b20536d1e3
31 changed files with 1348 additions and 65 deletions
26
test-defprotocol.janet
Normal file
26
test-defprotocol.janet
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
(use ./src/jolt/evaluator)
|
||||
(use ./src/jolt/types)
|
||||
(use ./src/jolt/reader)
|
||||
(use ./src/jolt/api)
|
||||
|
||||
(def ctx (init))
|
||||
|
||||
# Test simple defprotocol expansion
|
||||
(def proto-name {:jolt/type :symbol :ns nil :name "IBox"})
|
||||
(def sig1 @[{:jolt/type :symbol :ns nil :name "setVal"} {:jolt/type :symbol :ns nil :name "_this"} {:jolt/type :symbol :ns nil :name "_v"}])
|
||||
(def sig2 @[{:jolt/type :symbol :ns nil :name "getVal"} {:jolt/type :symbol :ns nil :name "_this"}])
|
||||
|
||||
# Call core-defprotocol directly
|
||||
(use ./src/jolt/core)
|
||||
(def expanded (core-defprotocol proto-name sig1 sig2))
|
||||
(print "expanded: " (string expanded))
|
||||
|
||||
# Try to eval it
|
||||
(def [ok err] (protect (eval-form ctx @{} expanded)))
|
||||
(if ok
|
||||
(do
|
||||
(print "eval OK!")
|
||||
(let [ns (ctx-find-ns ctx (ctx-current-ns ctx))]
|
||||
(printf "IBox: %q\n" (ns-find ns "IBox"))
|
||||
(printf "setVal: %q\n" (ns-find ns "setVal"))))
|
||||
(printf "eval FAIL: %q\n" err))
|
||||
Loading…
Add table
Add a link
Reference in a new issue