Clojure

Clojure Deref (Aug 13, 2021)

13 August 2021
Alex Miller

Welcome to the Clojure Deref! This is a weekly link/news roundup for the Clojure ecosystem. (@ClojureDeref RSS)

Highlights

This seems like a good week to highlight some more Clojure unicorns (private companies with valuations of at least 1 billion USD). One of the largest unicorns in the world is of course Nubank($30B). A few weeks ago we highlighted Amperity ($1B), which reached this level with their latest round and back in January AppsFlyer ($1B) became a unicorn. This week we have two new Clojure-built/friendly companies joining the list - Reify Health ($2.2B) and TaxBit ($1.5B). It’s great to see people build growing and successful companies with Clojure. Are there other Clojure unicorns? Who is missing from this list?

The Deref was on vacation last week but we saw the results of the 2021 Stackoverflow survey. In 2020, Stackoverflow failed to include Clojure as an option so we were glad to see its return this week. Notably, Clojure again topped the list as the top paying technology (as it did in 2019). Additionally, Clojure was the 2nd most loved programming language. For those that filled out the survey, thanks for sharing your info!

Finally, shout out to Dmitri Sotnikov for the release of the 3rd edition of Web Development with Clojure!

In the core

This week, I’ve been working with Rich on exploring several different options for lightweight keyword aliases (the most highly ranked request in https://ask.clojure.org). We’ve now explored several possible options for this - changing the semantics of alias, creating a new kind of symbolic only alias, adding a new clause to ns, and currently we are looking at modifying :require itself, which is currently looking the most promising. More to come as we make some more syntax decisions and hopefully move this towards the 1.11 stream!

Fogus has been working lately on new update-keys and update-vals functions, also one of the top rated requests on Ask Clojure. He’s been working with Rich to refine the docstrings and semantics, and also benchmarking a variety of implementation options.

Videos and podcasts

Lots of great media in the last couple week:

Libraries and Tools

  • polylith v0.2.0-alpha10 - framework for building Clojure applications

  • core.cache 1.0.217 - caching library for Clojure

  • memoize 1.0.250 - memoization library for Clojure

  • consistency-clj - NEW - consistency helpers

  • nrepl-cljs-sci 0.0.11 - nrepl server for nodejs

  • clojure-lsp 2021.08.03-13.33.03 - Language Server (LSP) for Clojure - now supports babashka, can find public unused vars

  • contajners - NEW idiomatic, data-driven, REPL friendly clojure client for OCI container engines

  • neanderthal 0.43.0 - fast Clojure matrix library

  • malli 0.6.0 - Data-Driven Schemas for Clojure/Script

  • aws-api - new services released: Route53 Recovery Cluster, AWS Route53 Recovery Control Config, AWS Route53 Recovery Readiness, Amazon Chime SDK Identity, and Amazon Chime SDK Messaging services

  • camunda-clojure-plugin - NEW Camunda Process Engine Plugin to execute Clojure Functions from Activities

  • datomic-cloud-backup - NEW library for creating and restoring backups of databases in Datomic Cloud

  • manifold 0.1.9-alpha5 - a compatibility layer for event-driven abstractions

  • clj-kondo 2021.08.06 - a linter for Clojure code that sparks joy

  • autonormal v2.0.0 - library for storing and querying graph data in a Clojure map

  • babashka 0.5.1 - Native, fast starting Clojure interpreter for scripting

  • clj-new 1.1.331 - generate new projects based on clj, Boot, or Leiningen Templates

  • cli4clj 1.7.9 - Create simple interactive CLIs for Clojure applications

  • Calva v2.0.206 - Calva is an integrated REPL powered environment for enjoyable and productive Clojure and ClojureScript development in Visual Studio Code - perf improvements

  • portal 0.13.0 - A clojure tool to navigate through your data - perf

  • whitespace-linter - NEW extensible whitespace linter

  • mastodon-bot - a bot for mirroring Twitter/Tumblr accounts and RSS feeds on Mastodon, reimplementing on clojure/jvm