How did they make Babashka (it’s apparently spelled that way) instantly start? Do they pre-warm a Java thread in the background?
Do math errors still dump Java stack traces in Clojure? That and the lack of syntax once ruled it out for me.
Do math errors still dump Java stack traces in Clojure? That and the lack of syntax once ruled it out for me.
I understand the frustration with Clojure errors, but am surprised that a lack of syntax would rule a programming language out.
One very nice thing in Elixir that ends up removing a ton of (possibly buggy) boilerplate logic on function entry is that the function heads pattern-match deeply on the structure of the input while also doing inline assignments.
For pipes, the answer is definitely yes though. Clojure has arrow macros, which let you compose without nesting just like Elixir.
(->> [1 2 3] (map inc) (filter even?) (reduce +)) => 6
There's one for threading through the first argument, and another for threading through the last, and various others for specific situations. Because they're pretty simple macros to write, I also use similar macros extensively in my CL code. In fact, I actually learned CL after getting used to Elixir so the first entry to my utilities package was a threading macro.