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/.
borkdude 2020-03-11T16:30:34.317600Z

compiled the Small Clojure Interpreter as a shared lib (.so, .dylib) and called it from c++! https://twitter.com/borkdude/status/1237774773813481474

67👏
2020-03-11T17:33:36.319200Z

For those interested I’m using this code to do AWS requests in Graal https://github.com/adgoji/aws-api/blob/master/src/adgoji/cognitect/aws/signers.cljc#L150 It needs some examples, but if you really want to this could be a start. I’ve also used it from Clojurescript (not tested lately). It has been tested with AWS STS requests (more to come)

borkdude 2020-03-11T22:50:54.320400Z

Follow up on using sci as a shared lib: https://github.com/borkdude/sci/blob/master/doc/libsci.md

2✔️
2020-03-11T23:18:00.321100Z

works on linux too :thumbsup: (with tweaks as described in the write-up)

2020-03-11T23:18:28.321400Z

$ time ./libsci/target/from_cpp "
> (println :foo)
> (require '[cheshire.core :as cheshire])
> (cheshire/generate-string {:a 1})"
:foo
{"a":1}

real	0m0.018s
user	0m0.004s
sys	0m0.014s

2020-03-11T23:23:42.321800Z

bravo @borkdude