欢迎!请参阅关于页面了解更多关于此工作的相关信息。
我还没有设法试用Graalvm,但是作为Clojure用户,问题是,考虑到Graalvm的承诺,Clojure与它的集成存在哪些问题(如果有),与Graalvm的上游集成的看法如何?在技术和其他方面(我提出这个问题是为了跟踪未来的用户)
我已创建了一些使用Clojure和GraalVM的app
https://github.com/borkdude/clj-kondo https://github.com/borkdude/babashka https://github.com/borkdude/jet
您可以检查这些,看看现在可能性和无法实现的事情。
它们与1.10.1一起工作良好,但有一个限制,那就是您不能要求clojure.spec.alpha或clojure.pprint,因为那样的话您会遇到https://clojure.atlassian.net/browse/CLJ-1472。在1.9.0中,这个问题不存在,但我希望在最新的Clojure版本上。
我发现工作得很好是:使用leiningen将源代码AOT到uberjar中,然后将该.jar提供给GraalVM。我现在在所有的GraalVM项目中都这样做了。
我认为目前如果您想使用native-image将GraalVM生成本地二进制文件,则需要降级到Clojure 1.9.0(除非自从我尝试以来这个问题已被修复)