graalvm

Discuss GraalVM related topics. Use clojure 1.10.2 or newer for all new projects. Contribute to https://github.com/clj-easy/graal-docs and https://github.com/BrunoBonacci/graalvm-clojure. GraalVM slack: https://www.graalvm.org/slack-invitation/.
chrisn 2021-03-21T17:26:05.044700Z

@borkdude - I have an example of compiling avclj into a shared library and building a c++ executable to encode some h264 video. It wasn't too bad but here are caveats like your library export file cannot have reference vars not referenced from your jar's main class. • https://github.com/cnuernber/avclj/blob/master/native_test/avclj/libavclj.cljhttps://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/ffi/graalvm.clj#L360https://github.com/cnuernber/avclj/blob/master/scripts/compile-shared

chrisn 2021-03-21T17:26:34.045300Z

It is pretty damn amazing you can compile Clojure, especially mixed native/JVM clojure like this into a shared library and the thing actually works when called from c++.

1
blak3mill3r 2021-03-22T21:37:16.048400Z

Wow. Now we can build hybrid C++ systems with Clojure as the dynamic language instead of Python or Common Lisp. It just keeps gettin' better!

sb 2021-03-25T17:57:18.050700Z

That could be really huge in the future! 👏👏👏

borkdude 2021-03-21T17:27:28.045700Z

yeah, that is awesome :) thanks for the examples!

borkdude 2021-03-21T17:28:08.046300Z

I think your C FFI stuff might come in handy for building this https://github.com/borkdude/plsci directly as a postgres plugin without the Rust wrapper and do more interesting things

borkdude 2021-03-21T17:28:39.046900Z

(not really working on this at the moment, more of a toy project currently)

chrisn 2021-03-21T17:30:38.048Z

I would love to talk about it at some point. A postgres plugin pathway sounds pretty fun 🙂. So amazing where things sit right now; never thought this would be possible.