Fork me on GitHub
#babashka
<
2023-05-07
>
craftybones04:05:20

is Carmine compatible with Babashka?

Bob B05:05:21

it appears as though it's currently not, by virtue of the fact that Carmine requires Encore, and Encore imports CountDownLatch, which isn't currently exposed in bb:

user=> (require '[taoensso.carmine :as car :refer [wcar]])
java.lang.Exception: Unable to resolve classname: java.util.concurrent.CountDownLatch [at taoensso/encore.cljc:87:3]

craftybones06:05:42

Right. I saw that just now too. Thanks anyway

borkdude06:05:51

I’ll have a look what the next problem is if we fix that

borkdude10:05:20

Apart from some missing classes, the biggest clocker seems to be the implementation of IFn on deftype: https://github.com/ptaoussanis/encore/blob/f0833b9fda489a3cb6fe29852e0ab4207fa6baa2/src/taoensso/encore.cljc#L3084

borkdude10:05:00

Another thing that's not going to work is nippy

borkdude10:05:36

If you're looking for a quick redis script using clojure, alternatives: • #nbb + a JS redis library will work for you. • JVM Clojure is still your friend • Build a babashka pod. • Write a bb-compatible fork of carmine.