24 November 2021
Alex Miller
Welcome to the Clojure Deref! This is a weekly link/news roundup for the Clojure ecosystem. (@ClojureDeref RSS)
Welcome to a special mid-week Deref as we will be out in the US this week! But on that note, big thanks to the Clojure community for always be interesting, inventive, and caring. I’m thankful to be a part of it.
Our big news this week is the release of Clojure 1.11.0-alpha3 which wraps up much of the work we’ve done in the last couple months. Probably the most interesting parts are the new things:
CLJ-2667 Add functions to parse a single long/double/uuid/boolean from a string
CLJ-2668 Add NaN? and infinite? predicates
CLJ-1925 Add random-uuid
CLJ-2664 Add clojure.java.math namespace, wrappers for java.lang.Math
clojure.java.math namespace
If you have questions about these, I would request that you read the ticket first - we’re trying to get thinking and background into the ticket descriptions and it’s important context. We’ve already had a lot of feedback about clojure.java.math re cljs portability and higher-order use so probably more to come on that. If you want to discuss on Clojurians Slack, the #clojure-dev room is the best place.
Docstring updates:
Perf:
CLJ-1808 map-invert should use reduce-kv and transient
Bug fix:
CLJ-2065 Support IKVReduce on SubVector
And last but not least, we added support for optional trailing maps to kwarg functions in Clojure 1.11.0-alpha1 but had not yet worked through what this meant for spec. We’ve now released an update to spec.alpha (0.3.214) that is included as a dependency in this release. For the background on this, see CLJ-2606.
Not to be be outshined, we also released an updated version of core.async 1.5.640, which has several important bug fixes, particularly if you are using any of the alt variants, or something that uses alt indirectly like mix or merge.
Clojure as a Competitive Advantage - Simon El Nahas
Thunks — a place to think through ideas still forming - Fogus
Circular Programming in Clojure - Gary Verhaegen
Deploying to clojars - Inge Solvoll
Versions in the Time of Git Dependencies - Hugo Duncan
Scraping web product data with Clojure - Duane Bester
An Update on CIDER 1.2 - Bozhidar Batsov
Making nREPL and CIDER More Dynamic (part 2) - Arne Brasseur
New releases and tools this week:
stub 0.1.1 - Library to generate stubs for other Clojure libraries
sicmutils 0.20.0 - A port of the Scmutils computer algebra/mechanics system to Clojure
tweet-def - Tweet as a dependency
sweet-array 0.1.0 - Array manipulation library for Clojure with "sweet" array type notation and more safety by static types
spec.alpha 0.3.214 - Describe the structure of data and functions
cljs-macroexpand - clojurescript macroexpand-all macro with meta support
secret-keeper 1.0.75 - A Clojure(Script) library for keeping your secrets under control
datahike 0.4.0 - A durable Datalog implementation adaptable for distribution
Tutkain 0.11.0 (alpha) - A Sublime Text package for interactive Clojure development
unminify - unminifies JS stacktrace errors