fix: add <, >, <=, >= comparison operators to clojure.core
Root cause of bmn-assoc failure: < operator missing from core-bindings. All loop conditions in HAMT hash map use (< i idx) which silently failed, causing loops to return nil. Added core-<, core->, core-<=, core->= bound to Janet's <, >, <=, >=. Also removed leftover test files from debugging session.
This commit is contained in:
parent
5052e391da
commit
2068f6e9f2
2 changed files with 10 additions and 1 deletions
|
|
@ -1 +1 @@
|
|||
["^ ","~$binding-get",["^ ","~:fixed-arities",["~#set",[2]],"~:private",true,"~:ns","~$user","~:name","^0","~:type","~:fn","~:col",1,"~:top-ns",null,"~:row",101],"~$eval-list",["^ ","^1",["^2",[3]],"^3",true,"^4","^5","^6","^<","^7","^8","^9",1,"^:",null,"^;",216],"~$resolve-var",["^ ","^;",57,"^9",1,"^1",["^2",[3]],"^6","^=","^4","^5","^:",null,"^7","^8"],"~$syntax-quote*",["^ ","^1",["^2",[3]],"^3",true,"^4","^5","^6","^>","^7","^8","^9",1,"^:",null,"^;",22],"~$new-v",["^ ","^;",504,"^9",22,"^6","^?","^4","^5","^:",null],"~$ctor",["^ ","^;",585,"^9",17,"~:varargs-min-arity",0,"^6","^@","^4","^5","^:",null,"^7","^8"],"~$v",["^ ","^;",277,"^9",20,"^6","~$v","^4","^5","^:",null],"~$resolve-sym",["^ ","^1",["^2",[3]],"^3",true,"^4","^5","^6","^B","^7","^8","^9",1,"^:",null,"^;",113],"~$first-form",["^ ","^;",218,"^9",3,"^6","^C","^4","^5","^:",null,"^7","~:any"],"~$run-finally",["^ ","^;",458,"^9",13,"^1",["^2",[1]],"^6","^E","^4","^5","^:",null,"^7","^8"],"~$eval-require",["^ ","^1",["^2",[2]],"^3",true,"^4","^5","^6","^F","^7","^8","^9",1,"^:",null,"~:arities",["^ ","~i2",["^ ","~:ret","~:nil","~:arglist-str","[ctx spec]"]],"^;",74],"~$bind-put",["^ ","^1",["^2",[3]],"^3",true,"^4","^5","^6","^K","^7","^8","^9",1,"^:",null,"^;",95],"~$alias-sym",["^ ","^;",85,"^9",15,"^6","^L","^4","^5","^:",null],"~$name",["^ ","^;",220,"^9",3,"^6","^M","^4","^5","^:",null,"^7",["^2",[["^ ","~:tag","^I","^;",222,"^9",15,"~:end-row",222,"~:end-col",18],["^ ","~:call",["^ ","~:filename","/Users/yogthos/src/jolt/src/jolt/evaluator.janet","^7","^Q","~:lang","~:clj","~:base-lang","^T","~:resolved-ns","^5","^4","^5","^6","^C","~:arity",1],"^;",221,"^9",15,"^O",221,"^P",33]]]],"^R","/Users/yogthos/src/jolt/src/jolt/evaluator.janet","~$macro-fn",["^ ","^1",["^2",[]],"^4","^5","^6","^X","^7","^8","^9",18,"^:",null,"^A",0,"^;",257],"~$kname",["^ ","^;",390,"^9",29,"^6","^Y","^4","^5","^:",null,"^7","^D"],"~$val",["^ ","^;",384,"^9",21,"^6","^Z","^4","^5","^:",null],"~$parse-arg-names",["^ ","^1",["^2",[1]],"^3",true,"^4","^5","^6","^[","^7","^8","^9",1,"^:",null,"^G",["^ ","~i1",["^ ","^H",["^ ","^7","~:map","~:val",["^ ","~:fixed",["^ ","^;",202,"^O",668,"^9",11,"^P",13]]],"^J","[args-form]"]],"^;",156],"~$special-symbol?",["^ ","^1",["^2",[1]],"^3",true,"^4","^5","^6","^13","^7","^8","^9",1,"^:",null,"^G",["^ ","~i1",["^ ","^H",["^2",["~:boolean"]],"^J","[name]"]],"^;",10],"~$sym-name?",["^ ","^1",["^2",[2]],"^3",true,"^4","^5","^6","^15","^7","^8","^9",1,"^:",null,"^;",6],"~$inner",["^ ","^;",180,"^9",17,"^6","^16","^4","^5","^:",null],"~$saved-ns",["^ ","^;",268,"^9",20,"^6","^17","^4","^5","^:",null],"~$sym-name-str",["^ ","^1",["^2",[1]],"^3",true,"^4","^5","^6","^18","^7","^8","^9",1,"^:",null,"^;",70],"~$unwrap-meta-name",["^ ","^1",["^2",[1]],"^3",true,"^4","^5","^6","^19","^7","^8","^9",1,"^:",null,"^;",205]]
|
||||
["^ ","~$binding-get",["^ ","~:fixed-arities",["~#set",[2]],"~:private",true,"~:ns","~$user","~:name","^0","~:type","~:fn","~:col",1,"~:top-ns",null,"~:row",101],"~$eval-list",["^ ","^1",["^2",[3]],"^3",true,"^4","^5","^6","^<","^7","^8","^9",1,"^:",null,"^;",199],"~$resolve-var",["^ ","^;",57,"^9",1,"^1",["^2",[3]],"^6","^=","^4","^5","^:",null,"^7","^8"],"~$syntax-quote*",["^ ","^1",["^2",[3]],"^3",true,"^4","^5","^6","^>","^7","^8","^9",1,"^:",null,"^;",22],"~$new-v",["^ ","^;",489,"^9",22,"^6","^?","^4","^5","^:",null],"~$ctor",["^ ","^;",570,"^9",17,"~:varargs-min-arity",0,"^6","^@","^4","^5","^:",null,"^7","^8"],"~$v",["^ ","^;",260,"^9",20,"^6","~$v","^4","^5","^:",null],"~$resolve-sym",["^ ","^1",["^2",[3]],"^3",true,"^4","^5","^6","^B","^7","^8","^9",1,"^:",null,"^;",113],"~$first-form",["^ ","^;",201,"^9",3,"^6","^C","^4","^5","^:",null,"^7","~:any"],"~$run-finally",["^ ","^;",443,"^9",13,"^1",["^2",[1]],"^6","^E","^4","^5","^:",null,"^7","^8"],"~$eval-require",["^ ","^1",["^2",[2]],"^3",true,"^4","^5","^6","^F","^7","^8","^9",1,"^:",null,"~:arities",["^ ","~i2",["^ ","~:ret","~:nil","~:arglist-str","[ctx spec]"]],"^;",74],"~$bind-put",["^ ","^1",["^2",[3]],"^3",true,"^4","^5","^6","^K","^7","^8","^9",1,"^:",null,"^;",95],"~$alias-sym",["^ ","^;",85,"^9",15,"^6","^L","^4","^5","^:",null],"~$name",["^ ","^;",203,"^9",3,"^6","^M","^4","^5","^:",null,"^7",["^2",[["^ ","~:call",["^ ","~:filename","/Users/yogthos/src/jolt/src/jolt/evaluator.janet","^7","^N","~:lang","~:clj","~:base-lang","^Q","~:resolved-ns","^5","^4","^5","^6","^C","~:arity",1],"^;",204,"^9",15,"~:end-row",204,"~:end-col",33],["^ ","~:tag","^I","^;",205,"^9",15,"^U",205,"^V",18]]]],"^O","/Users/yogthos/src/jolt/src/jolt/evaluator.janet","~$macro-fn",["^ ","^1",["^2",[]],"^4","^5","^6","^X","^7","^8","^9",18,"^:",null,"^A",0,"^;",240],"~$kname",["^ ","^;",375,"^9",29,"^6","^Y","^4","^5","^:",null,"^7","^D"],"~$val",["^ ","^;",369,"^9",21,"^6","^Z","^4","^5","^:",null],"~$parse-arg-names",["^ ","^1",["^2",[1]],"^3",true,"^4","^5","^6","^[","^7","^8","^9",1,"^:",null,"^G",["^ ","~i1",["^ ","^H",["^ ","^7","~:map","~:val",["^ ","~:fixed",["^ ","^;",185,"^U",654,"^9",11,"^V",13]]],"^J","[args-form]"]],"^;",139],"~$special-symbol?",["^ ","^1",["^2",[1]],"^3",true,"^4","^5","^6","^13","^7","^8","^9",1,"^:",null,"^G",["^ ","~i1",["^ ","^H",["^2",["~:boolean"]],"^J","[name]"]],"^;",10],"~$sym-name?",["^ ","^1",["^2",[2]],"^3",true,"^4","^5","^6","^15","^7","^8","^9",1,"^:",null,"^;",6],"~$inner",["^ ","^;",163,"^9",17,"^6","^16","^4","^5","^:",null],"~$saved-ns",["^ ","^;",251,"^9",20,"^6","^17","^4","^5","^:",null],"~$sym-name-str",["^ ","^1",["^2",[1]],"^3",true,"^4","^5","^6","^18","^7","^8","^9",1,"^:",null,"^;",70],"~$unwrap-meta-name",["^ ","^1",["^2",[1]],"^3",true,"^4","^5","^6","^19","^7","^8","^9",1,"^:",null,"^;",188]]
|
||||
|
|
@ -87,6 +87,11 @@
|
|||
|
||||
(defn core-not= [& args] (not (apply core-= args)))
|
||||
|
||||
(defn core-< [a b] (< a b))
|
||||
(defn core-> [a b] (> a b))
|
||||
(defn core-<= [a b] (<= a b))
|
||||
(defn core->= [a b] (>= a b))
|
||||
|
||||
# ============================================================
|
||||
# Collections
|
||||
# ============================================================
|
||||
|
|
@ -978,6 +983,10 @@
|
|||
"min" core-min
|
||||
"=" core-=
|
||||
"not=" core-not=
|
||||
"<" core-<
|
||||
">" core->
|
||||
"<=" core-<=
|
||||
">=" core->=
|
||||
"conj" core-conj
|
||||
"assoc" core-assoc
|
||||
"dissoc" core-dissoc
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue