Fork me on GitHub

Good Morning!


Feels like you’re slowly fast approaching the holy grail here.


It would be nice if the interop was completely smooth, though. I wonder how far you can get with a couple of macros or maybe just a magic namespace à la js/ but for java. Like maybe you could just (def system j/java.lang.System) etc.




About the 😎 ^ : Trying to come up with a neat use case for this. Browser testing is one of the killer use cases for #nbb. And with Polyglot you're able to reach into the business logic of your backend JVM at the same time, while also being able to use the full Playwright and other NPM deps in Node. Could be interesting for e.g. testing applications that only have a Clojure backend and the front-end is written in JS/TS or so.

👌 1

Here is a REPL session in which clojure on the JVM is called from nbb on graalvm Node.js:


:thinking_face: that’s the next level Clerk integration tests


calling Clerk JVM to figure out what the assertion of a certain result should be


@U5H74UNSF But aren't we testing if the JVM impl was right? So if the JVM impl is wrong, aren't we just testing the wrong answer?


no, I’d see that as a test of the JMV->browser pipeline, so given the assumption the JVM answer is correct


a wrong JVM answer can be easily tested in the JVM alone


Even just a unified test runner that doesn’t need to rely on ws (as Kaocha used to) would be pretty great. (Not sure if more recent Kaocha versions still use ws.)


Imagine that we could run Visual Studio code with GraalVM Node.js + polyglot and then we would be able to write extensions in JVM Clojure. I think that should be possible.


Oh btw, you can also call Python from #nbb on graalvm polyglot :)

🐍 4

The main limiter here, at least for me, is that still that Graal Python isn’t fully compatible yet. Hopefully soon!