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

欢迎!请参阅关于页面以获取有关如何操作的更多信息。

0投票
语法和读取器

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

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

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

这可以扩展到允许所有符号具有以开头的斜线开始的名字。

不应存在与命名空间限定符号的歧义
1) 在开头的斜线的情况下,符号应被解释为未限定的符号,例如"/="
2) 在斜线除首位之外的其他位置,应被视为命名空间限定的,例如"clojure.core/+"
3) 在多次非前导斜线的情况下,第一个斜线是命名空间分隔符,例如"clojure.core.matrix.operators//="

可选地,也可以允许名称中的开头斜线之后有多个斜线。这将允许像"/src/main/clojure"这样的符号变得有效。

5 个答案

0投票

评论由:pparkkin 提出

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

该补丁改变了用于匹配符号的正则表达式模式,以便在符号名称的斜线之后接受字符。

测试通过,该补丁还向符号测试中添加了几个新的特殊案例。

0投票

评论由:jafingerhut 提出

帕沃,今天早上对Clojure主分支的提交导致您的补丁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 报告)
...