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应该重新打开吗?
感谢!