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 中,: 是否被认为是有效的、无效的,或者 c) 未定义/留待未来扩展?
如果是有效的,那么说 (name (keyword "/")) 是一个 clojurescript 错误是否安全?
如果是 b) 或 c),那么 TCHECK-155 应该重新打开吗?
谢谢!