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

欢迎!请查阅关于页面以获取更多有关该系统如何工作的信息。

0
语法和读取器

建议允许读取器接受带有开头的斜杠的符号名称。

问题:开头的斜杠经常很有用,例如在像"/"或"/="这样的数学运算符中

目前,只有"/"被允许作为一个特殊情况,在clojure.core中使用作为除法运算符

这可以扩展到允许所有符号的名称都以前面的斜杠开始。

这不应与命名空间限定的符号混淆
1) 在带有开头的斜杠的情况下,符号应该被解释为一个非限定符号,例如"/="
2) 在非开头的任何斜杠情况下,应该被认为是一个命名空间限定的,例如"clojure.core/+"
3) 在多个非开头的斜杠情况下,第一个斜杠是命名空间分隔符,例如"clojure.core.matrix.operators//="

可选地,也可以允许在名称的开头斜杠之后有多个斜杠。这将使像"/src/main/clojure"这样的符号成为有效的。

5 答案

0

评论者:pparkkin

附加补丁以允许符号名称中使用开头的斜杠。

该补丁更改了用于匹配符号的regexp模式,以便在符号名称中接受斜杠后面的字符。

测试通过,该补丁还添加了一些新的特殊情况到符号测试中。

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报告)
...