请分享您的看法,参加2024年Clojure状态调查!

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

+3
编译器
重新标记

当前,clojure.spec.alpha 在 Clojure 核心中占据着特权地位,能够作为核心库对宏进行配置,同时对函数也进行配置。Compiler.java 依靠 clojure.spec.alpha此函数上,特别调用 macroexpand-check。这是一种巧妙的交互,而 macroexpand-check 简单明了。

其他工具(如 Malli)可以通过 alter-var-root(如在 malli.instrument/-strument!中看到)为 Clojure 函数提供配置,但它们缺少挂钩到宏扩展的能力。

如果 Compiler.checkSpecs 有一些钩子,则允许像 Malli 这样的工具用于配置宏会很好。

1 答案

+1
...