Babashka,
which is Clojure for scripting,
is the Small Clojure Interpreter compiled to a native executable
That said,
it does limit you a little b/c with Graal native you need to tell the compiler if you will dynamically use a type/class
(so it can't be inferred during compilation).
The compiler is doing what JS people call "tree shaking" to strip unused code.
(dead code elimination in C++ terms)
As I understand it you have some annotation file so you don't eliminate too much,
similar to using Proguard.
So it's mostly plug-n-play but with some caveats
Babashka, which is Clojure for scripting, is the Small Clojure Interpreter compiled to a native executable
That said, it does limit you a little b/c with Graal native you need to tell the compiler if you will dynamically use a type/class (so it can't be inferred during compilation). The compiler is doing what JS people call "tree shaking" to strip unused code. (dead code elimination in C++ terms) As I understand it you have some annotation file so you don't eliminate too much, similar to using Proguard. So it's mostly plug-n-play but with some caveats