fix: general equality (=) for all types, add type predicates & collection fns, test suite docs
- Fix: = now uses cljEqual/cljMultiEqual instead of numeric-only cljNumEq, so (= :a :a), (= "a" "a"), (= [1 2] [1 2]), (= nil nil) etc return true - Fix: ns forms inside unwrapped (do ...) are skipped instead of emitting broken Nim comments inside cljRepr() - Fix: defmacro forms go to defs section, not wrapped in discard cljRepr() - Add 18 type predicates: keyword?, symbol?, string?, number?, integer?, float?, vector?, map?, set?, list?, seq?, coll?, sequential?, fn?, boolean?, true?, false?, some? - Add collection fns: second, ffirst, nfirst, peek, pop - Add keyword/symbol ops: keyword, symbol, name, namespace, key, val - Update eval interpreter = to handle structural collection equality - Add test_single.py + test_vals.clj for Clojure test suite runner - Add docs/en/07 and docs/bg/07 for cross-dialect test suite compatibility - Update README with test suite documentation link
This commit is contained in:
@@ -143,7 +143,7 @@ suite "Emitter - Operators":
|
||||
test "emit equality":
|
||||
let v = read("(= 1 1)")
|
||||
let code = emitExpr(v)
|
||||
check "cljNumEq" in code
|
||||
check "cljMultiEqual" in code
|
||||
|
||||
test "emit not=":
|
||||
let v = read("(not= 1 2)")
|
||||
|
||||
Reference in New Issue
Block a user