Clojure 和 Clojure 读取器都接受 :/
作为关键字,test.check 也产生它。然而,从 Slack 上的对话中,它似乎并不是正式认可的有效关键字。例如,在 这个主题 中提到,之前在 clojure-dev 中有一个更早的讨论,但很遗憾我无法找到它。
有人建议从 test.check 中移除它(TCHECK-155),该请求已被关闭,并引用了 Alex Miller 的意见,但 Alex 也表示他认为这是一个 test.check 的错误。
TCHECK-155 中的引用还提到 "clojurescript 应该修复其怪异行为",但我无法找到原始对话,因此我不确定这是指什么,或者是否有相应的工单。我发现 clojurescript 在至少一个方面与 clojure 的行为不同
(name (keyword "/")) ;;clj => "" ;;cljs => "/"
我的问题是,在 EDN 和/或 Clojure 中,:/
是否被认为是 a) 有效,b) 无效,或 c) 未定义/留待未来扩展?
如果它是 a) 有效,那么是否可以说 (name (keyword "/"))
是一个 clojurescript 的错误?
如果它是 b) 或 c),那么这是否意味着 TCHECK-155 应该重新开放?
谢谢!