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

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

0
编译器

在此评论中: http://dev.clojure.org/jira/browse/CLJ-1100?focusedCommentId=35510&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-35510 Rich 表示,不支持名称包含点的Vars,但当前实现允许它们的定义。
这个补丁让 (def foo.bar) 抛出编译时异常

4 个答案

0

评论者:alexmiller

我想知道这将是否破坏现有的野外观代码。

0

评论者:bronsa

鉴于当前的行为,我认为这是不大可能的

`
user=> (def a.b 1)

'user/a.b

user=> a.b
CompilerException java.lang.ClassNotFoundException: a.b, compiling:(NO_SOURCE_PATH:0:0)
`

人们需要费尽心机在所有地方引用Vars的命名空间才能使其工作

0

评论者:bronsa

在与#clojure短暂的对话后,我更新了补丁,使其只有在非宏def上抛出,这样clojure.core/..和clojure.core.incubator/.?.这类宏就能正常工作。

0
参考: https://clojure.atlassian.net/browse/CLJ-1516(由 bronsa 报告)
...