Clojure及其读取器都接受:/作为关键字,并且test.check会生成它。但是从Slack上的对话中我了解到,它并没有被正式认为是有效的。例如,在提及clojure-dev中较早讨论的这一帖子中,但很遗憾我没有找到它。
有人建议从test.check中删除它(TCHECK-155),该问题通过与Alex Miller的权威引用得到关闭,但他也指出,这被视为test.check的bug。
TCHECK-155中的引用还提到“clojurescript应该修复其怪异的地方”,但我找不到原始的对话,所以我不确定这指的是什么,或者是否有相关票证。我发现clojurescript在至少一个方面与clojure的行为不同:
(name (keyword "/")) ;;clj => "" ;;cljs => "/"
我的问题是,在EDN和/或Clojure中,:/被认为是a)有效,b)无效,还是c)未定义/留待未来扩展?
如果是a)有效的话,那么能否安全地说(name (keyword "/")是clojurescript的bug?
如果是b)或c),那么是否意味着TCHECK-155应该被重新打开?
谢谢!