【发布时间】:2016-02-21 21:51:02
【问题描述】:
在Practical Clojure关于 Java 互操作的章节中,作者注意到以下关于 Java 互操作“语法糖”的内容(例如 (.method object arguments) 而不是 (. object method arguments)):
由于这些“语法糖”扩展发生在与宏扩展相同的编译阶段,执行复杂代码生成的宏可能需要避免它们并使用新的 and . (点)直接特殊形式。
我不明白为什么在与宏扩展相同的阶段发生“语法糖”扩展是一个问题。是不是因为展开的顺序可能有问题?
【问题讨论】:
-
您的问题到底是什么?您引用的文本中没有提到“问题”或“问题”一词。您能否详细说明您的意思,最好举个例子?
-
“可能需要避免它们”表明存在问题,但正如@amalloy 指出的那样,这不是技术限制。
标签: clojure macros clojure-java-interop