This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
- # aleph (15)
- # announcements (4)
- # aws (2)
- # bangalore-clj (7)
- # beginners (236)
- # calva (24)
- # cider (11)
- # cljs-dev (63)
- # clojure (141)
- # clojure-europe (3)
- # clojure-india (2)
- # clojure-italy (8)
- # clojure-nl (3)
- # clojure-spec (8)
- # clojure-uk (52)
- # clojured (1)
- # clojuredesign-podcast (4)
- # clojurescript (35)
- # clojutre (3)
- # community-development (1)
- # cursive (77)
- # data-science (1)
- # datomic (3)
- # emacs (13)
- # fulcro (7)
- # graalvm (78)
- # graphql (2)
- # nrepl (7)
- # off-topic (18)
- # pathom (25)
- # reagent (12)
- # reitit (31)
- # shadow-cljs (178)
- # spacemacs (7)
- # tools-deps (32)
- # xtdb (10)
- # yada (3)
I tried to make a socket REPL work with GraalVM last night and I bumped into the locking issue again. It does work without a problem on 1.9.0. I wonder what changed between 1.9.0 and 1.10.1 that makes this error appear, while the Android locking issue on JIRA is much older than that?
Hmm, in 1.9.0 I see this commit: https://github.com/clojure/clojure/blob/841fa60b41bc74367fb16ec65d025ea5bde7a617/src/clj/clojure/core/server.clj
but then a few commits later towards 1.10.1
locking is introduced again:
could it have something to do with tap> support in prepl? https://github.com/clojure/clojure/blob/4d2a7dbae68036dcc80cb40ca155985ad06aaeb8/src/clj/clojure/core/server.clj#L282-L289
Could very well be. If I remove the locking reference in server.clj I still get the same error
@neo2551 most of it already works. Is there some code that you couldnt get to work?
If you're asking whether you can use the Clojure REPL with GraalVM the answer is: Yes! Absolutely.
It's a full-featured Java runtime. It behaves more or less like any other, at least in my experience. Works with CIDER, nREPL, etc.
Ok! I thought the limitations of GraalVM would not allow Clojure to load namespaces dynamically
Workflow using GraalVM and some experience sharing Would be a great subject for a talk
Until you start trying to build self-contained binaries it's literally no different from using Oracle or OpenJDK, at least as far as I know.
No. You ought to be able to use it as a stand-in replacement for Oracle Java (or OpenJDK). In fact, some people are arguing that people ought to do that. https://hackernoon.com/why-the-java-community-should-embrace-graalvm-abd3ea9121b5
There's a lot of hype around the native image stuff, but I'm personally just as excited about the polyglot features.
Oracle's claims about the performance of hitherto non-JVM languages are bananas. https://youtu.be/8AYESZIaacg?t=960
> sneak Should be pretty painless. You could recommend trying it out to see if there are performance gains. 😉
I've been noodling on a library to make GraalVM cross-language interop easier from the Clojure side.
Haha, I am solo CLJS developer in a data science team, guess it would be easy for me to make the technical point lol
Okay okay, you got me hooked I will try it. I hope the experience is painless, is there any intro on how to swap the JVM with GraalVM?
I personally use jEnv because I find that it plays well with my toolchain (Emacs, CIDER).
user> (put-binding! "incall" (proxy-fn #(map inc %))) nil user> (r-eval "incall(1:10) + 1") [3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 12.0]
At work I've been exploring making a Clojure library we develop available to R programmers.
@neo2551 Not to throw a wet blanket on your enthusiasm, but I should say that GraalVM does not make dependency hell any easier. All the pain of working with scikit learn, scipy, and friends will be just as bad in Graal-land.
Oh, I've just found that getting the right versions of libraries to play well together can be a pain when native code is involved.
I feel I am perpetuating the Lisp curse with clojure, I feel I want try things on my own more than to reuse what the community already created.
@zane @neo2551 , regarding R on GraalVM, I have had some basic experiments recently, thanks to a discussion with @slack.jcpsantiago . See some examples here -- maybe this helps: https://github.com/scicloj/fastr-examples/ https://github.com/scicloj/fastr-examples/blob/master/examples/examples.clj
No. 😞 Trying to install it, I get some errors.