gpt4 book ai didi

clojure - 为什么 clojurescript 宏不能用 clojurescript 编写?

转载 作者:行者123 更新时间:2023-12-03 20:39:14 24 4
gpt4 key购买 nike

虽然 clojure 和 clojurescript 的功能基本相同(除了明显的差异),但宏不是。当我想要 clojurescript 中的宏时,我必须在 clojure 中编写它并使用 require-macros 来要求它。这是javascript的技术限制还是设计决定?为什么不能两者相同?

最佳答案

来自 ClojureScript: Up and Running作者:Stuart Sierra 和 Luker VanderHart,第 69 页:

Macros are applied during the compilation process. They do not exist at runtime. Because the ClojureScript compiler is implemented in Clojure, ClojureScript macros must be written in Clojure, not ClojureScript. Fortunately, Clojure and ClojureScript are almost identical when it comes to manipulating data structures, so switching between the two languages is not difficult.



这意味着宏代码在 Clojure 世界中执行而不是在浏览器中执行,因此它必须用普通的 Clojure 编写。

关于clojure - 为什么 clojurescript 宏不能用 clojurescript 编写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18381052/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com