Clojure

Clojure Deref (Oct 22, 2021)

22 October 2021
Alex Miller

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

Highlights

The Clojure community has a long and friendly relationship with our cousins in the Racket/Scheme community and we’ve often had speakers at Clojure conference from that world. I wanted to call your attention to the recent Strange Loop keynote from Will Byrd, "Strange Dreams of Stranger Loops" which takes his prior investigations into generating quines (programs that produce themselves) with miniKanren into further territories of twines (twin quines) and quine relays and many other interesting digressions.

Near the end of the talk, Will announced two "competitions", each for $1000, the QuiPS Prize for the best "small" strange loop along the order of quines and quine relays, self-reproducing behavior, and the Mant Prize - for the best "large" strange loop, and you’ll need to watch the video to get the full sense of the intent here. I’ve linked his pages for these prizes, which are as yet unpublished. Feel free to pester Will to fill those out more completely. :)

I’m highlighting these here both to give them some more circulation and because I think there are many smart and curious minds in the Clojure community that would enjoy working on things like this to spur the Quine Industrial Complex.

In the core

Lots of things in mid-flight right now, some getting near the "done" end. CLJ-2664 is a new Clojure namespace clojure.java.math wrapping java.lang.Math. There are a couple related pieces of work for adding numeric parsing functions and uuid constructors. All of those are coming out of a survey of which JDK static methods were in common use and trying to cover a bit more of that surface area in the Clojure API directly. All of that is 1.11 scope. Additionally, I think we’re near the end of the spec updates for trailing map support, which is being done in CLJ-2606 and that will end up in new versions of spec (both old and new). You can also find a variety of other tickets ready for Rich’s review in the Screened list (see workflow page for more details).

In addition to all that, we’ve been doing a lot of thinking and planning for future directions of the Clojure team, nothing I can share on that right now but it’s been fun to talk about ways we can grow.

Videos and podcasts

Libraries and Tools

New releases and tools this week:

  • coffi 0.2.259 - A Foreign Function Interface in Clojure for JDK 17

  • salutem - A health check library for sync / async health checks

  • clj-kondo 2021.10.19 - A linter for Clojure code that sparks joy

  • clj-media - View or create videos and gifs with clojure

  • heroicons-clojure - heroicons for Fulcro and Reagent

  • xtdb-inspector - Web UI for inspecting XTDB database

  • shh 2021.10.20 - A CLI password manager designed for efficiency

  • clojure-lsp 20211020-164947 - A Language Server for Clojure(script)

  • nbb v0.0.107 - Ad-hoc CLJS scripting on Node.js

  • clj-jq 1.1.3 - Clojure wrapper for jackson-jq

  • Calva 2.0.220 - Calva is an integrated REPL powered environment for enjoyable and productive Clojure and ClojureScript development in Visual Studio Code

  • pathom3 2021.07.10-alpha - A library for navigating data

  • luna 0.1.0-SNAPSHOT - A Domain Specific Language (DSL) that translates to regex.Pattern

  • aws-api - AWS, data driven

  • java.data 1.0.92 - Functions for recursively converting Java beans to Clojure and vice versa

  • re-graph 0.1.16 - A graphql client for clojurescript and clojure

  • glimt 0.2.1 - HTTP FSM for re-frame