Fork me on GitHub
#off-topic
<
2021-06-25
>
vemv09:06:24

is there some lib or tool in the JVM ecosystem that tries enumerating which methods in the JDK stdlib are side-effectul / side-effect-free?

souenzzo10:06:10

V8 engine has it in some way When you write a function in the console, if it is side effect free, it show you the result as a preview. Anyway. I have interest too. Please share is you find something

borkdude09:06:53

@vemv GraalVM tries to analyze this to decide if static initalizers can be initialized at build time, perhaps look inside their codebase if they have some list. Not sure if they do it on the bytecode level or on a higher level.

👀 2
borkdude19:06:44

Does anyone happen to know where aether determines the default m2 directory where to look for stuff? I have a native compilation of tools deps alpha, but somehow this location is captured at compile time

borkdude19:06:05

which results in weird errors like:

Caused by: java.io.FileNotFoundException: /home/circleci/.m2/repository/babashka/fs/0.0.1/fs-0.0.1.pom.part.lock (No such file or directory)
on a system that's not CI ;)

Alex Miller (Clojure team)19:06:04

clojure.tools.deps.alpha.util.maven/default-local-repo
would be my guess

borkdude19:06:54

ah, thanks!

Alex Miller (Clojure team)19:06:13

I could probably delay that computation

borkdude19:06:28

that would be helpful :) I'll try in a fork

borkdude20:06:21

I think I could now make this into a tools deps babashka pod so you can use the tools deps API in a babashka script, for whatever reason

borkdude20:06:52

but also other graal compiled tools which use tools deps should now work with this change