æ/Isogeny

Isogeny makes all configuration dynamic.

2022—01—05 Wed · Ælfsyg

Clojure CLI apps using GraalVM

Clojure, like other JVM languages, excels in long-running tasks1. But I was always jealous of the languages that I'd used for scripting and command line tools which can't wait a second for a JVM to start for each invocation. Despite its slow startup time, the JVM shines at peak throughput. Some times we want one, sometimes the other. For tasks that have a very short lifetime (~1s), we need Ahead of Time compilation....

2021—12—14 Tue · Ælfsyg

Clojure's rarer threading macros: some-> and cond->

I use Clojure's threading macros perhaps more than I should, but I do so because they mimic the way I think about the code I write. A lisp programme is a tree and yet most of the programmes that we write are, or should be, lines of functions acting on a datastructure1 2. The value of threading macros 1 2 (* 3 (+ 2 (- 10 (+ 10 (/ 2 2))))) ^ To grok this code I have to start from the bottommost leaf, in this case (/ 2 2), yet it is at the line's far right contrary to where it is natural for me and most of the world3 to start reading....

2021—12—09 Thu · Ælfsyg

An 8-year-old Clojure bug, resorting to Java

Dodge a Clojure bug by using Java and tools.build

2021—12—01 Wed · Ælfsyg

æ/alias+ns

Macros that makes namespace aliases easy. https://github.com/aelfsyg/alias-ns.git Qualified keywords have ballooned in popularity since the release of spec with Clojure 1.9. And thankfully so! A creed amongst Clojurians is that maps should be open to modification, meaning that I should be able to add data to a map without worrying that it will break its consumer, and that when processing maps we shouldn't remove data using something like select-keys without good reason....

2021—11—24 Wed · Ælfsyg

æ/Rashomon

See things from another perspective; Clojure functions that build datastructures from events.

2021—11—19 Fri · Ælfsyg

æ/Demesne

You don't understand a pattern until you can implement it — domain-driven design, CQRS, event sourcing.

2021—11—17 Wed · Ælfsyg