Clojure及其读取器都接受:/
作为关键字,且test.check会生成它。然而,根据我在Slack上的交流,它似乎并没有被正式视为有效。例如,在这个主题中,提到了clojure-dev中之前的讨论,但我遗憾的是没有找到。
有人建议从test.check中移除它(TCHECK-155),该请求被管理员关闭,并引用了Alex Miller的话,但Alex也表示他认为这是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应该重新开放吗?
谢谢!