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

评论者:pparkkin

附件更新了补丁。

0

评论者:jafingerhut

如果能将补丁命名为不同的名称,或删除旧的补丁,将更不容易造成混淆。

0
...