评论由:jafingerhut 发布
我在昨天偶然发现了一个名为 CLJ-17 的工单。其讨论线程显示,之前已经出现过验证构造的词汇和符号内容的话题。当时编写了一个补丁,修改了“symbol”和“keyword”函数,以便按照现在的做法构造符号/关键字,但在使用clojure.lang.RT/readString方法在给出的字符串参数上进行可读性双重检查后,如果intern和readString方法返回的符号(或者如果readString抛出异常)不相等。
Rich担心这种运行时开销太高,询问是否有人知道更快的处理方法。Chas Emerick提议使用类似于Common Lisp中的 #|symbol with whitespace| 这样的语法来使所有符号可读,并对引用将不必要的常见情况进行了检查。Rich对引号任意符号的想法表示欢迎,但这将是一个不同工单的问题。
我不知是否有任何人在那之后创建一个工单引入引号任意符号,但我可能错过了。这个工单可能成为那个工单,但它的描述需要大幅编辑,并在Clojure的多个地方需要代码更改。