2024 Clojure状态调查中分享您的想法!

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

+4
Clojure

我还没有尝试graalvm,但作为Clojure用户,问题是,鉴于graalvm的承诺,在graalvm上与Clojure的集成有哪些问题(如果有),以及如何看到开发上游与graalvm的集成?就技术和其他方面而言(我在这里提出这个问题是为了跟踪未来的用户)

2 答案

+3

我已经用Clojure和GraalVM创建了几个应用程序

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将您的源代码预编译为一个uberjar,然后将该.jar文件馈送给GraalVM。我现在在我的所有GraalVM项目中都这样做。

作者
需要指出的是,https://clojure.atlassian.net/browse/CLJ-1472 已在 1.10.1 中修复,我认为是这样!
+1
作者

我认为目前如果您想使用 native-image 从 graalvm 生成本机二进制文件,您可能需要降级到 Clojure 1.9.0(除非自从我尝试后已经修复了这个问题)

作者
你好,

这是一个使用 GraalVM 和 Clojure 的示例。

https://github.com/taylorwood/clojurl

希望这能帮到您!
作者
这是一个很好的示例,我正在尝试构建一个用于管理书籍的 CLI 应用,对于启动时间我感到非常沮丧。我尝试了 GraalVM,但是当时我无法正确设置 HTTPS,因为我需要调用一些 Goodreads 和 Amazon API。感谢这个示例,我很快会回到这个项目。
...