20 August 2021
Peter Strömberg spent the week working on a very cool zero-install "learn Clojure" story using Gitpod and Calva. He’s looking for feedback - check it out, particularly if you are early in your Clojure journey!
I mentioned last week that I was working on lightweight keyword aliases and I’ve summarized what we’ve looked at, the final proposal, and patches at CLJ-2123. I also spent some "quality" time this week updating all of the tools.deps dependencies. The latest Maven core release bumps some transitive deps with security reports and also fixes a number of concurrency issues we’ve been seeing through the Clojure CLI. Unfortunately, I also detected a regression in some of the Maven model building code and spent some time filing tickets and working with Maven folks on that (will probably lead to a new Maven release). For now I have worked around the regression so tools.deps/Clojure CLI users won’t be impacted.
Review: Why FP Matters (Hughes) - Gary Verhaegen
A Tale of Three Clojures - Alys Brooks
GSoC 2021 Partial Evaluation Report - Leandro Doctors
Regex Optimization in Clojure - Cameron Desautels
Introducing incomplete: A Simple Clojure Code Completion Library - Bozhidar Batsov
My story of how I first met Clojure - Pavel from Freshcode
The cljdoc contributions strategy - Martin Klepsch
New releases and tools this week:
Clojure CLI 220.127.116.113 - many perf improvements
tools.build v0.1.8 - Library of functions for building Clojure projects
deps-new - NEW - A new, simpler alternative to clj-new
clj-test-containers 0.5.0 - A lightweight, unofficial wrapper around the Testcontainers Java library
lein-clojure-lsp - NEW - Language Server (LSP) for Clojure
datomic-cloud-backup 0.0.5 - A library for creating and restoring backups of databases in Datomic Cloud
pathom3 2021.08.14-alpha - Logic programming via attribute relationships
pod-babashka-etaoin - now available for windows - pure Clojure webdriver protocol implementation
vim-iced 3.6.0 - Clojure Interactive Development Environment for Vim8/Neovim
trenchman - NEW Trenchman is a standalone nREPL/prepl client written in Go and heavily inspired by Grenchman. It connects to a running nREPL/prepl server and starts up a REPL session instantly.
The Calva getting started work reminded me of Felienne Hermans' excellent Strange Loop 2019 keynote "How to teach programming (and other things)?". If you’re interested in this area, also check out her upcoming book (available in large part in early release now) The Programmer’s Brain based on her research. It’s a great read and I think every programmer will learn some interesting things from it.