toot.cat is one of the many independent Mastodon servers you can use to participate in the fediverse.
On the internet, everyone knows you're a cat — and that's totally okay.

Administered by:

Server stats:

414
active users

I've finally started writing our own Integrant-alike, called Makina (no release yet but you can find early alpha code if you look for it). Integrant is the last central piece of our Clojure stack that I've been eager to replace. Integrant has served us well for many years, but some things have always bothered me, in particular the use of multimethods, which makes it hard to replace components during testing.

With that we are starting to get a really slick Clojure application harness, with lambdaisland/cli, lambdaisland/config, and now lambdaisland/makina.

(I was going to call it machina, from Latin, but I can already predict that tons of people would mispronounce it. Hopefully the k makes it clear that it's /ˈma:kina/ and not /mə'ʃi:na/)

Public

@plexus Interesting! We also (ab)use Integrant a lot. The testability of the multimethods doesn’t bother me as much (we unit test the functions that are called by the multimethods) and for integrationtesting there are enough ways to override specific parts of the config.

Public

@plexus What does bother me: automagic classloading for multimethod resolving (in our abuse case prohibitively slow, while it should be a completely separate concern) + special reader symbols which makes it hard to treat those configurations as data, even though that was supposed to be its primary selling point. So, I am definitely curious what Makina’s take on those aspects will be!