我只是想知道在 Google V8 Javascript 引擎之上实现 Clojure 是否有意义。我从不使用 Java 互操作性。我也在学习 ClojureScript。所以我可以看到在 V8 引擎上运行 clojure 的优势。
对此有什么想法吗?有人这样做吗?会有多难?
我只是想知道在 Google V8 Javascript 引擎之上实现 Clojure 是否有意义。我从不使用 Java 互操作性。我也在学习 ClojureScript。所以我可以看到在 V8 引擎上运行 clojure 的优势。
对此有什么想法吗?有人这样做吗?会有多难?
ClojureScript 已经可以在浏览器之外的 V8 之上运行,并且从一开始就可以运行。特别是,如果将 V8 目录的路径提供给运行程序脚本(通过环境变量),则测试套件和基准测试套件将在 V8 中执行;除了 V8,SpiderMonkey 和 JavaScriptCore 也在以这种方式使用。
Node.js 为 V8 添加了一个完整的标准库,并且自最初发布以来一直是 ClojureScript 的有效编译目标。至于最先进的技术,JohnJ 对 Bodil 演示文稿的引用是一个很好的参考(另请参阅 Bodil 的项目,如cljs-noderepl和Dog Fort)。
现在,ClojureScript 缺少 Clojure 的某些功能,特别是对编译器的运行时访问,但是有一个 fork将编译器移植到 ClojureScript。自托管的 ClojureScript 版本可能只是时间问题。
查看 Bodil Stokke 的视频“ClojureScript All The Way Down”,她在其中基于 Node.js 构建了一个全栈 Web 应用程序。