2024 Clojure状态调查中分享您的想法!

欢迎!有关如何使用本站的信息,请参阅关于页面。

0
语法和读取器

建议允许读取器接受以开斜杠为名称的符号。

问题:开斜杠通常非常有用,例如在操作符"/"或"/="中

目前,只有"/"被允许作为特例,并且在clojure.core中用于除法运算符

这可以扩展,允许所有符号以开斜杠为名称。

与非限定符号名称不应有歧义
1) 在开斜杠的情况下,符号应被解释为非限定符号,例如 "/="
2) 在除首位置以外的斜杠处,它应被视为命名空间有资格的,例如 "clojure.core/+"
3) 在多个非开斜杠的情况下,第一个斜杠是命名空间分隔符,例如 "clojure.core.matrix.operators//="

可选地,也可以允许名称中开斜杠后面的多个斜杠。这将允许符号如"/src/main/clojure"成为有效。

5个回答

0

评论由:pparkkin

额外了一个允许符号名称中使用开斜杠的补丁程序。

这个补丁更改了用于匹配符号的正则表达式模式,以便接受符号名称中斜杠后面的字符。

测试通过,这个补丁也向符号测试添加了几个新的特殊情况。

0

评论由:jafingerhut

Paavo,今天早些时候向 Clojure master 提交的提交导致您的补丁 clj-1324-1.patch 无法干净地应用。我尚未进行详细调查,但可能只需简单地更新补丁即可使其再次干净地应用。

0
by

评论由:pparkkin

已附上更新后的补丁。

0
by

评论由:jafingerhut

如果您能够以不同的名称命名补丁,或者删除旧的一个,可能会更少引起混淆。

0
by
参考:[https://clojure.atlassian.net/browse/CLJ-1324](https://clojure.atlassian.net/browse/CLJ-1324)(由 mikera 提出)
...