Notes.
Welcome back to The REPL, a newsletter about Clojure and ClojureScript. Wolfram Alpha tells me it’s been 7 months and 5 days since the last newsletter. In the meantime quite a few things have happened!
- I got to go to St. Louis to speak at Strange Loop
- We tried to sell our house and buy another one, then put it all on hold
- Clojurists Together has been separating from the SFC into our own 501(c)6 trade association
- My wife gave birth to our third baby
- A few other personal things which needed a lot of attention
- and most recently, the worldwide spread of COVID-19
The REPL newsletter and podcast and my open source contributions all had to take a backseat to these other responsibilities.
As I write this, all of New Zealand is in lockdown to prevent the spread of Coronvairus. I’m fortunate to have a job working from home so my days haven’t looked a lot different so far. It’s not clear yet when New Zealand’s borders will be opening up again, so I’m glad I got to meet so many of you last year.
Far too much has happened in Clojure in the last seven months, but I’ll try and point out some of the key events.
-main
- The State of Clojure 2020 results have been released. Alex Miller wrote up some thoughts on the open feedback section. I hope to finish my write up of this sometime soon.
- Since the last newsletter, Clojurists Together has funded Expound, Deep Diamond, Oz, Reagent, Ring, Fireplace, and Calva.
- Clojure Weekly is a new Clojure newsletter from dotemacs.
- Rich Hickey launched a GitHub Sponsors profile.
- Lambda Island launched an Open Collective for their open source and community work.
- Clojure: a mature alternative to Java is a good summary of arguments for switching to Clojure.
Libraries & Books.
- Most (all?) of the Clojure contrib libraries got a bump to 1.0 recently to reflect their stability.
- James Reeves is working on Ring 2.0 and currently soliciting feedback on the new 2.0 spec. If you have the time, I’d highly recommend reviewing the spec and commenting if you have any questions. We’re going to be using Ring 2.0 for the next ten years, so now is the time to talk about it.
- Hashp is a neat library with one weird trick for print debugging.
- Ćukasz Korecki wrote about the value of simple solutions, the RFC process at EnjoyHQ, and the resulting open source libraries eternity and lockjaw
- Red Planet Labs wrote about how they serialize and deserialize functions instances betwen processes(!).
- clip is a new state management library from JUXT. Dominic Monroe also discussed it on the JUXT cast.
- systemic is another new state management solution similar to Component, Mount, and Integrant.
Foundations.
- Michiel Borkent has released another great Clojure tool: Carve to remove unused vars from your Clojure program.
- Hot off the press is nREPL 0.7
- Stuart Sierra wrote about Clojure Start Time in 2019
- tools.deps.graph shows a graph of your deps.edn dependencies, along with the size of each JAR.
- There was a state of CIDER survey, and the results were interesting. Take a read, you might discover some great CIDER features you didn’t know about.
- lein-git-inject is a neat solution for building a version from your git tags.
Recent Developments.
- Clojure 1.10 introduced changes which caused issues with GraalVM’s
native-image
. CLJ-1472 tracked the underlying issue (which was first reported in the context of Android). This was recently fixed and is slated for inclusion in an upcoming Clojure 1.10.2 release.
Misc.
I’m Daniel Compton. I maintain public Maven repositories at Clojars, private ones at Deps, and help fund OSS Clojure projects (along with tons of generous members like Pitch, Nubank, JUXT, Metosin, Adgoji, and Nextjournal) at Clojurists Together. If you’ve enjoyed reading this, tell your friends to sign up at therepl.net, or post a link in your company chatroom. If you’ve seen (or published) a blog post, library, or anything else Clojure/JVM related please reply to this to let me know about it.
If you’d like to support the work that I’m doing, consider signing up for a trial of Deps, a private, hosted, Maven Repository service that I run.
Thanks!