babashka 2026-05-21

Am I correct in understanding that the Datomic peer library (`com.datomic/peer`) is not supported under Babashka? I found some old threads suggesting this, but I'm not sure what the current state of the world is here.

Peer requires a JVM, yes. Datomic has some Java dependencies, if I recall correctly, and Babashka requires pure Clojure. If you're considering other Datalog options, there is a Datalevin pod that can be used from Babashka: https://github.com/babashka/pod-registry/blob/master/examples/datalevin.clj

๐Ÿ‘€ 1

I don't know what's in the com.datomic/peer library, it's closed source :)

Maybe @jaret or @joe.lane could elaborate on the current state of things.

What is the use case @enn ?

I'm making a TUI Datomic browser. It would be nice if the startup were zippy. :)

Could always try the client-api

Even so, launching Clojure proper will be dominated by any IO to explore your Datomic database anyways. So the peer api is also probably fine no?

yes, but unless I'm misremembering, that requires some server-side setup, right? and I can't use that with the new mode that allows connecting directly to a backup (which is a prime use case for this tool)

Then I suggest using the JVM

OK, that's what I'm doing now and itโ€™s working (though slow to start)

Have you tried measuring why it's slow? Sounds like a fun opportunity to learn more. Happy to look at perf profiles with you etc to identify bottlenecks, esp if they are on account of Datomic.